Page 1 of 1
non-strict matching?
Posted: 23 Jul 2012, 19:44
by perler
hi,
I try to use this script:
http://filebot.sourceforge.net/scripts/sorty.groovy (from the sticky thread on the top). but get
Code: Select all
Exception: Handling multiple shows requires non-strict matching
as soon as I have two different shows in the source directory?
also, I would like to change this line:
Code: Select all
def episodeFormat = "V:/out/TV/{n}{'/Season '+s}/{episode}"
in a way, that I get leading zeroes for the target directories (ie "breaking bad season 06" "instead of breaking bad season 6"
regards,
PAT
Re: non-strict matching?
Posted: 24 Jul 2012, 00:59
by rednoah
1. Add -non-strict cmdline flag
2. Copy the script and make your changes, e.g. {s.pad(2)}
Re: non-strict matching?
Posted: 24 Jul 2012, 06:52
by perler
oh, I need to /copy/ the script?!
thanks I had a look here:
http://mrhaki.blogspot.de/2009/09/groov ... rings.html and don't really see yet how to put this into the line above. would you help a java noob?
also, can I put the -non-strict as a flag into the script itself, for portability?
Re: non-strict matching?
Posted: 24 Jul 2012, 07:53
by rednoah
1. Well, you can't modify the scripts on my server right?
2. Copy that from almost any of my examples about formatting:
{'/Season '+s} =>
{'/Season '+s.pad(2)}
3. Sure, you can set it for each call, e.g. rename(...,
strict:false)
Re: non-strict matching?
Posted: 24 Jul 2012, 10:46
by perler
thanks, re 3., getting closer, this throws an exception:
Code: Select all
InvalidPathException: Trailing char < > at index 74: somefilepath..\The Daily Show\The Daily Show Season \The Daily Show - 17x127 - Faree
d Zakaria.mp4
btw, could you help out with a simple if then or case syntax in groovy to exclude certain shows along the line of
Code: Select all
rename if filename does not contains "The.Daily"
preferable in some kind of easily editable list form? (or point me to an example you have already written).
thanks.
Re: non-strict matching?
Posted: 24 Jul 2012, 14:58
by rednoah
1. You messed up your cmdline call somehow. What's the full cmdline call? Probably something to do with using \ and escaping something by mistake.
2. All the more complex scripts have some filtering going on like this. Learn by example.
Code: Select all
input = input.findAll{ !(it.path =~ /\b(?i:sample|trailer|extras|deleted.scenes|music.video|scrapbook)\b/) }
Here's something like it but the other way around:
http://filebot.sourceforge.net/forums/v ... ?f=4&t=158
Re: non-strict matching?
Posted: 24 Jul 2012, 15:08
by perler
1. it's quite simple: C:\Program Files (x86)\FileBot>filebot.cmd -script c:\admin\scripts\tvhowssorter
_filebot.groovy
2. thanks, will have a look into it..
Re: non-strict matching?
Posted: 24 Jul 2012, 18:23
by rednoah
1. You can't just use \ in the Groovy code. It's an escape character. Use / instead in paths, or \\ for a literal \.
Re: non-strict matching?
Posted: 24 Jul 2012, 18:43
by perler
that's the command line which calls the script, in the script itself the paths are written like this:
Code: Select all
def episodeDir = "q:/Users/files/Videos/Current/#INCOMING"
maybe it's best to show you the script in itself, it's basically yours with some things not relevant to me commented out:
https://dl.dropbox.com/u/152632/tvhowss ... bot.groovy
maybe you see a stupid mistake.
thanks!
Re: non-strict matching?
Posted: 24 Jul 2012, 19:15
by perler
ok, found it, you have to put single quotes around spaces..