POSTBUCKET - where random posts in unrelated topics go

Any questions? Need some help?
Post Reply
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [MANUAL] Configure Sublight login

Post by rednoah »

It's using Java Preferences. On Windows it'll save stuff to the registry, Linux & Mac it'll be managed in properties files. The portable version will always use a properties file.

@see
http://docs.oracle.com/javase/7/docs/ap ... ences.html

* In anycase it's in clear text and easily readable.
:idea: Please read the FAQ and How to Request Help.
bawng
Posts: 6
Joined: 14 Sep 2012, 18:32

Re: POSTBUCKET - where random posts in unrelated topics go

Post by bawng »

Yeah, like I said it has worked perfectly well with all other films and series. Since this is the only problem I've had, it doesn't really matter. Thank you for the help anyway!
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Prevent cmd from stealing the focus

Post by rednoah »

If you're using this script with µTorrent on Windows you might find it annoying that it'll popup a cmd window stealing the focus each time. You can fix this by calling programs like this: cmd.exe /c start /min ... ^& exit

Code: Select all

cmd.exe /c start /min filebot -script fn:utorrent-postprocess --output "X:/path/to/media" --action copy --conflict override -non-strict --def subtitles=y artwork=y "ut_dir=%D" "ut_file=%F" "ut_kind=%K" "ut_title=%N" "ut_label=%L" "ut_state=%S" ^& exit
:idea: Please read the FAQ and How to Request Help.
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

Hi,
I have been using your script successfully now for several week, but recently problems have developed.
Now:
Utorrent appears to execute the my code on download completion but no files are processed (a window flashes too quickly to read).
However:
When I execute the code copied from Utorrent's logger screen at the command prompt, the script executes perfectly. All files are processed.

Here is my code:

Code: Select all

filebot -script "c:/tv/test.groovy" --output "j:" --action copy --conflict override -non-strict --def subtitles=y artwork=y  [email protected]:pass123  [email protected] "ut_dir=%D" "ut_file=%F" "ut_kind=%K" "ut_title=%N" "ut_label=%L" "ut_state=%S"
Any ideas?

How can I setup a detailed log for Filebot so I can determine why the script fails?

Thanks
B
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Try redirecting the output into by using a cmd like this:

Code: Select all

filebot -version 2>&1 >> log.txt
:idea: Please read the FAQ and How to Request Help.
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

Hi,
The script fails from utorrent, but works from the command line. The Filebot directory is added to my path statement. I even ran utorrent as an Administrator. I see the cmd window pop up when a download completes and the script is executed but it closes too quickly to see any errors.

Any reason why the script fails from utorrent, but when the logger line is pasted to a command window it works every time?

B
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Until we manage to see that console output I also wouldn't know what's going wrong.

Redirect console output into a file like I should you in my last post. That way the console output gets written to file instead of the console window. Then you can check that file to see the error messages.
:idea: Please read the FAQ and How to Request Help.
d33g
Posts: 2
Joined: 01 Oct 2012, 03:02

Re: Fully Automated Media Center

Post by d33g »

Hi all,

sorry i've been trying to get my head around this and not having a whole lot of success...

Below is the exact line that I have pasted into uTorrent;
filebot -script fn:utorrent-postprocess --output "R:/-=To Sort=-/_Renamed" --action copy --conflict override -non-strict --def subtitles=y artwork=y "ut_dir=%D" "ut_file=%F" "ut_kind=%K" "ut_title=%N" "ut_label=%L" "ut_state=%S"

And I downloaded and copied the utorrent-postprocess.groovy script and pasted into the filebot install dir changing the first line to match the above specifying my "R:/-=To Sort=-/_Renamed" which is where i want everything to be extracted and renamed then dumped into.

NOTE// I currently have everything set to download to a "_Downloading" folder which then moves to a "_Completed" folder once the download is complete, if that is causing any problems...

I tried deleting my "R:/**" path and replacing it with log.txt but I could never find any log file being generated to find the issue...

Any help is GREATLY appreciated.

Thanks,
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

1. You don't need to download anything, -script fn:name means it'll download/update the script automatically. No need to change the script.

2. --output <folder> is where files go to. Standard output is written to the console, you can pipe that into a file if you want.

3. You literally ONLY need to follow the steps. Most importantly that filebot is installed properly and that it'll run in console.

4. You can debug things by manually running the command from the console and see what happens. uTorrent somewhere has a log what commands it calls with exactly what arguments. You can copy that and try it.
:idea: Please read the FAQ and How to Request Help.
d33g
Posts: 2
Joined: 01 Oct 2012, 03:02

Re: Fully Automated Media Center

Post by d33g »

Thanks for such a quick reply.

Ok thanks for letting me know that.

If i run manually from console specifying an input folder it will work, when I run from uTorrent only removing the input information as it states that the command will interpret the input directly from uTorrent the console opens but closes before I can see whats its doing and it doesn't complete any task.

Sorry to be such a pain.

Many thanks for your help already.

DeeG
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

That's why you have to >> REDIRECT OUTPUT INTO A FILE <<

Try this. See what happens. It's the very basics of using the cmdline. You can do this with any command.
filebot -version 2>&1 >> log.txt

YOU CAN PRINT CONSOLE OUTPUT TO A FILE INSTEAD OF THE CONSOLE VERY EASILY.
:idea: Please read the FAQ and How to Request Help.
warioguy64
Posts: 4
Joined: 01 Oct 2012, 11:19

Re: Fully Automated Media Center

Post by warioguy64 »

Hi,

Everything works perfectly for me but my xbmc window still minimizes when the command prompt is in use. This is after I added the fix by calling programs like this: cmd.exe /c start /min ... ^& exit
The command prompt window does start minimized but my xbmc minimizes too.
I want to add that if i use my remote for itunes to play music that xbmc also minimizes when I do this.

I use Windows 7 64x
xbmc Eden v11

Great scipt and thanks in advance.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

On the utorrent forums I read that you can make this work by running a .vbs script from utorrent and then kicking off the filebot call from the .vbs script. If anybody gets that working please share. ;)
:idea: Please read the FAQ and How to Request Help.
sam829
Posts: 22
Joined: 04 Sep 2012, 04:02

Re: Fully Automated Media Center

Post by sam829 »

First bit of code is a VB script, .vbs extension. You ONLY need to modify the location of your batch file.

Ex.) C:\Program Files\Filebot\tvdirwatcher.bat <-- Change this to the location of your batch file

Code: Select all

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Program Files\Filebot\tvdirwatcher.bat" & Chr(34), 0
Set WshShell = Nothing
Second bit of code is a .bat file. Only being displayed as an example.

Code: Select all

filebot -rename M:/TVComplete --output \\ds212/TV --format "{n}/Season {s}/{n} {sxe} {t}" -non-strict --db TheTVDB
Very simple and works perfectly. If you have any questions at all please feel free to ask away! :D

One more thing, consider supporting RedNoah ;) I wouldn't have been so motivated to figure out the above problem if it wasn't for him.
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

hi rednoah,

When I add

Code: Select all

>>c:/log.log 
to my utorrent Run Program command and a download completes, I get an empty log file.

But when I run the same command, pasted from utorrents logger tab, I get all the info as it is processed

Code: Select all

Parameter: subtitles = y
Parameter: artwork = y
Parameter: gmail = [email protected]:pass123
Parameter: mailto = [email protected]
Parameter: ut_dir = C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE
Parameter: ut_file = dexter.s07e01.720p.hdtv.x264-evolve.nfo
Parameter: ut_kind = multi
Parameter: ut_title = [ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE
Parameter: ut_label = 
Parameter: ut_state = 5
Read archive [dexter.s07e01.720p.hdtv.x264-evolve.rar] to [C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE\dexter.s07e01.720p.hdtv.x264-evolve]
Extracting files [C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE\dexter.s07e01.720p.hdtv.x264-evolve\Dexter.S07E01.720p.HDTV.x264-EVOLVE.mkv]
Input: C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE\dexter.s07e01.720p.hdtv.x264-evolve\Dexter.S07E01.720p.HDTV.x264-EVOLVE.mkv
Group: [tvs:Dexter] => [Dexter.S07E01.720p.HDTV.x264-EVOLVE.mkv]
Missing subtitles for 1 video files
Looking up subtitles by filehash via OpenSubtitles
Looking up subtitles by filehash via Sublight
Searching for [Dexter] at [OpenSubtitles]
Searching for [Dexter] at [Sublight]
Searching for [Dexter] at [Subscene]
Matched [Dexter.S07E01.720p.HDTV.x264-EVOLVE.mkv] to [Dexter.S07E01.720p.HDTV.x264-EVOLVE] via filename
Fetching [Dexter.S07E01.720p.HDTV.x264-EVOLVE]
Export [Dexter.S07E01.720p.HDTV.x264-EVOLVE.srt] as: SubRip / UTF-8
Writing [Dexter.S07E01.720p.HDTV.x264-EVOLVE.srt] to [Dexter.S07E01.720p.HDTV.x264-EVOLVE.eng.srt]
Rename episodes using [TheTVDB]
Auto-detected query: [Dexter]
Fetching episode data for [Dexter]
Auto-detected query: [Dexter]
Fetching episode data for [Dexter]
Stripping invalid characters from new path: Dexter/Season 7/Dexter.S07E01.Are You...?
Stripping invalid characters from new path: Dexter/Season 7/Dexter.S07E01.Are You...?
[COPY] Rename [C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE\dexter.s07e01.720p.hdtv.x264-evolve\Dexter.S07E01.720p.HDTV.x264-EVOLVE.mkv] to [j:\Dexter\Season 7\Dexter.S07E01.Are You....mkv]
[COPY] Rename [C:\TV\Incomplete\[ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE\dexter.s07e01.720p.hdtv.x264-evolve\Dexter.S07E01.720p.HDTV.x264-EVOLVE.eng.srt] to [j:\Dexter\Season 7\Dexter.S07E01.Are You....srt]
Processed 2 files
Fetching artwork for j:\Dexter\Season 7 from TheTVDB
Fetching j:\Dexter\poster.jpg => {id=919566, BannerMirror=http://thetvdb.com/banners/, BannerPath=posters/79349-24.jpg, BannerType=poster, BannerType2=680x1000, Language=en, Rating=10.0000, RatingCount=1}
Fetching j:\Dexter\banner.jpg => {id=18143, BannerMirror=http://thetvdb.com/banners/, BannerPath=graphical/79349-g7.jpg, BannerType=series, BannerType2=graphical, Language=en, Rating=7.0303, RatingCount=33}
Fetching j:\Dexter\fanart.jpg => {id=30362, BannerMirror=http://thetvdb.com/banners/, BannerPath=fanart/original/79349-16.jpg, BannerType=fanart, BannerType2=1920x1080, Colors=|149,111,92|169,68,82|196,73,66|, Language=en, Rating=7.3488, RatingCount=43, SeriesName=false, ThumbnailPath=_cache/fanart/original/79349-16.jpg, VignettePath=fanart/vignette/79349-16.jpg}
Fetching j:\Dexter\Season 7\poster.jpg => {id=919409, BannerMirror=http://thetvdb.com/banners/, BannerPath=seasons/79349-7-4.jpg, BannerType=season, BannerType2=season, Season=7, Language=en, Rating=8.0000, RatingCount=2}
Banner not found: j:\Dexter\Season 7\banner.jpg / season:seasonwide
Fetching j:\Dexter\clearart.png => {type=clearart, id=4980, url=http://fanart.tv/fanart/tv/79349/clearart/4980/D_79349 (3).png, lang=en, likes=4}
Fetching j:\Dexter\logo.png => {type=clearlogo, id=20958, url=http://fanart.tv/fanart/tv/79349/clearlogo/20958/dexter-5057573260826.png, lang=en, likes=5}
Fetching j:\Dexter\landscape.jpg => {type=tvthumb, id=5012, url=http://fanart.tv/fanart/tv/79349/tvthumb/5012/D_79349 (10).jpg, lang=en, likes=1}
Fetching j:\Dexter\Season 7\landscape.jpg => {type=seasonthumb, id=18514, url=http://fanart.tv/fanart/tv/79349/seasonthumb/18514/dexter-4fc8e9fa79bf8.jpg, lang=en, likes=0, season=7}
     [mail] Sending email: [FileBot] [ www.Speed.Cd ] - Dexter.S07E01.720p.HDTV.x264-EVOLVE
     [mail] Sent email with 0 attachments
Done ?(?????)?

Is there a switch for filebot.cmd to leave the command prompt open when the script completes?

B
RekiM
Posts: 2
Joined: 01 Oct 2012, 23:13

Re: Fully Automated Media Center

Post by RekiM »

This script (and app) is awesome.

Is there any way this can output to different paths (or drives) for Movies and TV shows?

something like this:

Code: Select all

filebot -script fn:utorrent-postprocess --outputMovie "X:/Movies" --outputTV "Y:/TV" ... 
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

hi Rednoah,
I discovered my problem was windows 7 64bit related.

I added a "pause" to filebot.cmd and discovered java was not invoking at the command line for 32bit applications.

I only had 64bit java installed. I installed the 32bit java jre as well and now everything works as advertised.

Sorry for all the confusion

B
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

RekiM wrote:This script (and app) is awesome.

Is there any way this can output to different paths (or drives) for Movies and TV shows?

something like this:

Code: Select all

filebot -script fn:utorrent-postprocess --outputMovie "X:/Movies" --outputTV "Y:/TV" ... 
I'm not sure about the script, but you can run two instances of utorrent: one for movie downloads and one for tv downloads. You can specify different Run Program strings for each application.
I've used it in the past.

I have this from my notes... not sure of the source:
Create a shortcut and add /RECOVER with a space at the end for the target....

ex: "C:\Program Files\uTorrent\uTorrent 3.2\uTorrent\uTorrent.exe" /RECOVER

For each instance you must have a different port specified in uTorrent and forwarded in the router...

You will also need to check or manually add firewall rules for each version.

Run the shortcut and you should be good to go.
I believe I even ran each as a different user to keep things separated in windows.

B
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

gmcclelland wrote:Well, fancy that. I must have just not realised that. Thanks for that though.

I can't seem to get uTorrent to run a script after the torrent finishes either. No luck. :P
Do you have 32bit as well as 64bit java installed?

utorrent only uses the 32bit java runtime.
RekiM
Posts: 2
Joined: 01 Oct 2012, 23:13

Re: Fully Automated Media Center

Post by RekiM »

bixtool wrote: I'm not sure about the script, but you can run two instances of utorrent: one for movie downloads and one for tv downloads. You can specify different Run Program strings for each application.
I've used it in the past.
Thanks for the tip. I'll look into that if there's no other option within the script.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

You should be able to quite easily modify the script with those updated. Just look for the rename(...) calls and override the output:"...", format:"..." values the way you want.
:idea: Please read the FAQ and How to Request Help.
warioguy64
Posts: 4
Joined: 01 Oct 2012, 11:19

Re: Fully Automated Media Center

Post by warioguy64 »

Hi rednoah,

I have been using your script (with the vbscript) for a couple of days now and its been working like a dream. But I have one last teensy problem.
It seems that some torrents like to abbreviate the downloaded RAR files that come with the torrent. (for example; torrent name:The Hangover Part 2, extracted file name TH2.mkv) which results in the movie being extracted in the utorrent Downloads folder and not in the TV/Movie folders. The same happens with talk shows (like Conan, David Letterman, Daily Show etc.)
Do you know how to fix this?

Thanks in advance.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Run the cmd manually with those parameters. Unpacking always extracts to its current location. It should extract to rar-parent-folder/rar-filename/*, it'll only be moved/copied as part of the renaming. Maybe that last part failed because of not being able to make sense of the input?
:idea: Please read the FAQ and How to Request Help.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

1. If you specify the standard --lang ja argument it'll carry into the script, for subtitles and renaming. If you only want japanese subs but english episode titles you'll need to hard-code it in the script.

2. Nope, because you really should seed your stuff. :P Anyway, doesn't utorrent have something for that, like auto-remove if it's finished seeding?

3. Haha!! What's the filename? Just "Bolt"? I've got no idea how it'll get from here to "A Complete History Of My Sexual Failures (2008)" :D

-non-strict should make the strict more lenient = makes things work in much more cases, but risk of mismatches is higher as well

--conflict skip|override is for what should happen if the move/copy-destination file already exists, i.e. you downloaded the same episode twice (maybe HD the second time around)

* since that movie got completely messed up I suppose it's hash mismatch in the OpenSubtitles database. Usually it helps identify movies regardless of the filename... you can try what happens if you run the script on an empty file with the exact same name as your Bolt movie file, that way we can see if it's really the moviehash that's messing things up.

EDIT: With future releases I'm gonna try and throw out OpenSubtitles moviehash lookup for movie detection.
:idea: Please read the FAQ and How to Request Help.
ramsundaram
Posts: 24
Joined: 13 Oct 2012, 18:32

Re: Fully Automated Media Center

Post by ramsundaram »

sam829 wrote:

Code: Select all

filebot -script "C:\Program Files\Filebot\watcher.groovy"
Just add the full path to 'watcher.groovy'.
So it should be:

filebot -script "[fullpath & script file name]" fn:[filename] [...other options]

What I am asking is what goes into "fn:"

Ram

EDIT: Sorry, I found the answer to this in another post on the forums. It's either "-script [local filename] or fn:[online script name]"

Thanks.
Last edited by ramsundaram on 14 Oct 2012, 04:48, edited 1 time in total.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: POSTBUCKET - where random posts in unrelated topics go

Post by rednoah »

@see here:
http://filebot.sourceforge.net/forums/v ... f=4&t=5#p5

fn:name is just an easy way to access the scripts online, with svn:name you'll get the latest script directly from the SVN. You can specify a filepath or an url as well. Then there is -script g:{expression} for inline groovy and -script system:in for reading the script from stdin.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

This is very promising! It looks like this simple bit of code can replace the need for multiple programs, like SCRU (to unpack files), theRenamer (to rename them), and EventGhost (to tie it all together in a single macro). But it doesn't replace the need for a scraper, like MediaCompanion or Ember Media Manager, correct?

I'm new to scripting so I have some (possibly silly) questions:

1. My media folders are currently at the root. For example:

E:\Movies
E:\TV Shows
E:\etc.

Do I replace "X:/path/to/media" with simply "E:/"?

2. What part of the filebot script determines if the torrent is a movie, a TV show, a basket of apples, etc.? Just curious.

3. What part of the filebot script determines how the files will be organized and renamed (e.g., ... /Name - S00E00 - Title). I don't see any syntax that would suggest this. (I'd like to know in case I want to tweak how things are named.)

4. in UTorrent, should I change my "Save In" path (where torrents are saved) to E:\? Or does the script pretty much override whatever I put there?

Thank you!
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

0. It'll replace everything. If you run the script with --def artwork=y it'll fetch artwork and generate nfo files using TheTVDB and TheMovieDB data respectively.

1. Yep, --output "E:" will do.

2. That's complicated and is based on various heuristics, filename patterns, number of files with similar patterns, knowledge about movie/series names, etc. So if you can tell what it is just by looking at the filename, the script will probably get it right as well. The label in utorrent can be used to disable auto-detection and force one of the TV Show/Anime/Movie/Ignore modes if you want.

Note: It'll only enter Anime mode if it is forced via utorrent label, otherwise Anime will fall into the TV Show category and renamed using TheTVDB data.

3. Those are the 3 formats used for the 3 respective modes, TV Series, Anime and Movie.

Code: Select all

def format = [
	tvs:   '''TV Shows/{n}/{episode.special ? "Special" : "Season "+s}/{n} - {episode.special ? "S00E"+special.pad(2) : s00e00} - {t}''',
	anime: '''Anime/{n}/{n} - {sxe} - {t}''',
	mov:   '''Movies/{n} ({y})/{n} ({y}){" CD$pi"}{".$lang"}'''
]
4. The script doesn't care about he original torrent files, utorrent will just pass in a few variables and the paths to the downloaded files and this script will take it from there. There's no magic happening, it's all in that cmdline call.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

Thank you for the reply.

I've tried several torrents but none of them are getting processed with the script. When the torrent is done downloading, I do see the cmd screen pop up with some lines of code run but it disappears before I can see what it says.

The torrents download as usual, but they don't get moved to the output location. For the output I've tried both "E:", "E:\Movies", and various other examples.

Any suggestions?
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

It's a command, just open the cmd and just run it manually and see what happens. You can copy the exact cmdline uTorrent is calling from utorrents log tab.
:idea: Please read the FAQ and How to Request Help.
bixtool
Posts: 11
Joined: 08 Sep 2012, 16:03

Re: Fully Automated Media Center

Post by bixtool »

Rednoah,
Your script works fantastic. Thank you for sharing.

Now, if only I could remove completed downloads from utorrent with a script I could clean things up nicely. Have you attempted this?

B:
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

And what happens to seeding? I guess uTorrent must have a function somewhere to make it auto-remove a torrent once it's got enough ration.

I'm not gonna add uTorrent controls to the script, but you can play with it if you want. It's definitly possible using utorrents http/json api.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

rednoah wrote:It's a command, just open the cmd and just run it manually and see what happens. You can copy the exact cmdline uTorrent is calling from utorrents log tab.
Ah! Thanks. A lot of output, but I suspect all of it stems from this error which occurs right away (I replaced the actual user name with "MyUserName"):

"...
FileNotFoundException: C:\Users\MyUserName\%D
java.io.FileNotFoundException: C:\Users\MyUserName\%D
..."

uTorrent is installed on the C drive (which is where the default user folder is), and I'm trying to export the torrents to the E drive. Perhaps that's the problem?
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

µTorrent wrote:You can use the following parameters:

%F - Name of downloaded file (for single file torrents)
%D - Directory where files are saved
%N - Title of torrent
%P - Previous state of torrent
%L - Label
%T - Tracker
%M - Status message string (same as status column)
%I - hex encoded info-hash
%S - State of torrent
%K - kind of torrent (single|multi)
Well, obviously %D won't work. If you run it manually you have to replace the variables that utorrent would have set otherwise. Just copy the exact cmdline utorrent is executing from utorrent logger tab like I said.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

The script is working for movies (they get moved to E:\Movies are are appropriately renamed, etc.) but it's not working with TV shows. They are not getting moved to "E:\TV Shows", not getting renamed, etc.

Below is what the uTorrent command log showed for a recent example:

Code: Select all

filebot -script fn:utorrent-postprocess --output "E:" --action copy --conflict override -non-strict --def subtitles=y artwork=y "ut_dir=E:\Torrents" "ut_file=The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264-LMAO.[VTV].mp4" "ut_kind=single" "ut_title=The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264-LMAO.[VTV].mp4" "ut_label=showRSS personal feed" "ut_state=5"
Any suggestions? Thank you.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

So what's the cmdline output if you run that command?
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

rednoah wrote:So what's the cmdline output if you run that command?
The full output is below, but you'll see this error occurs about six times:

Code: Select all

Lookup by hash failed: Error configuring from jar:file:/C:/Program%20Files/FileB
ot/FileBot.jar!/ehcache.xml. Initial cause was Error configuring from input stre
am. Initial cause was The reference to entity "Sarah" must end with the ';' deli
miter.
"Sarah" is part of the active user name, so I suspect that's where it's coming from.

Code: Select all

E:\>filebot -script fn:utorrent-postprocess --output "E:" --action copy --confli
ct override -non-strict --def subtitles=y artwork=y "ut_dir=E:\Torrents" "ut_fil
e=The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264-LMAO.[VTV].mp4" "ut
_kind=single" "ut_title=The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x2
64-LMAO.[VTV].mp4" "ut_label=showRSS personal feed" "ut_state=5"
Parameter: subtitles = y
Parameter: artwork = y
Parameter: ut_dir = E:\Torrents
Parameter: ut_file = The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264-
LMAO.[VTV].mp4
Parameter: ut_kind = single
Parameter: ut_title = The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264
-LMAO.[VTV].mp4
Parameter: ut_label = showRSS personal feed
Parameter: ut_state = 5
Input: E:\Torrents\The.Daily.Show.2012.10.18.President.Barack.Obama.HDTV.x264-LM
AO.[VTV].mp4
Group: [tvs:The Daily Show] => [The.Daily.Show.2012.10.18.President.Barack.Obama
.HDTV.x264-LMAO.[VTV].mp4]
Missing subtitles for 1 video files
Looking up subtitles by filehash via OpenSubtitles
Lookup by hash failed: Error configuring from jar:file:/C:/Program%20Files/FileB
ot/FileBot.jar!/ehcache.xml. Initial cause was Error configuring from input stre
am. Initial cause was The reference to entity "Sarah" must end with the ';' deli
miter.
Looking up subtitles by filehash via Sublight
Lookup by hash failed: java.lang.IllegalStateException: Sublight login has not b
een configured
Searching for [The Daily Show] at [OpenSubtitles]
Search for [The Daily Show] failed: Error configuring from jar:file:/C:/Program%
20Files/FileBot/FileBot.jar!/ehcache.xml. Initial cause was Error configuring fr
om input stream. Initial cause was The reference to entity "Sarah" must end with
 the ';' delimiter.
Searching for [The Daily Show] at [Sublight]
Search for [The Daily Show] failed: Sublight login has not been configured
Searching for [The Daily Show] at [Subscene]
Search for [The Daily Show] failed: Error configuring from jar:file:/C:/Program%
20Files/FileBot/FileBot.jar!/ehcache.xml. Initial cause was Error configuring fr
om input stream. Initial cause was The reference to entity "Sarah" must end with
 the ';' delimiter.
No matching subtitles found: E:\Torrents\The.Daily.Show.2012.10.18.President.Bar
ack.Obama.HDTV.x264-LMAO.[VTV].mp4
Rename episodes using [TheTVDB]
Auto-detected query: [The Daily Show]
Error configuring from jar:file:/C:/Program%20Files/FileBot/FileBot.jar!/ehcache
.xml. Initial cause was Error configuring from input stream. Initial cause was T
he reference to entity "Sarah" must end with the ';' delimiter.
Failed to fetch episode data: [The Daily Show]
Exception: Unable to match files to episode data
Done ?(?????)?
Exception in thread "Thread-0" net.sf.ehcache.CacheException: Error configuring
from jar:file:/C:/Program%20Files/FileBot/FileBot.jar!/ehcache.xml. Initial caus
e was Error configuring from input stream. Initial cause was The reference to en
tity "Sarah" must end with the ';' delimiter.
        at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(Configu
rationFactory.java:103)
        at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(Configu
rationFactory.java:138)
        at net.sf.ehcache.CacheManager.parseConfiguration(CacheManager.java:555)

        at net.sf.ehcache.CacheManager.init(CacheManager.java:310)
        at net.sf.ehcache.CacheManager.<init>(CacheManager.java:300)
        at net.sf.ehcache.CacheManager.create(CacheManager.java:698)
        at net.sf.ehcache.CacheManager.getInstance(CacheManager.java:718)
        at net.sourceforge.filebot.Main$6.run(Unknown Source)
Caused by: net.sf.ehcache.CacheException: Error configuring from input stream. I
nitial cause was The reference to entity "Sarah" must end with the ';' delimiter
.
        at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(Configu
rationFactory.java:157)
        at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(Configu
rationFactory.java:101)
        ... 7 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 38; The r
eference to entity "Sarah" must end with the ';' delimiter.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAX
ParseException(Unknown Source)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalErro
r(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(
Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(
Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(U
nknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue
(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanAttribute(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanStartElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDriver.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(U
nknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
arse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown S
ource)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(Configu
rationFactory.java:155)
        ... 8 more
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

That is an odd one. Do you use some wierd username or something? Something causing ehcache to crash when it's initializing. I guess for some reason it can't store it's cache in your home folder.

You could either just use a normal username or set filebot up to not work in your home folder. See the configs of the portable version for how to do that.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

rednoah wrote:That is an odd one. Do you use some wierd username or something?
The username does have an ampersand (&) in it, and it seems this will produce this kind of error. (For example, http://www.dailytechnologytips.com/2009 ... ce-to.html.)

I will try to change the username, but from what I've gathered so far this is no simple task.

Thank you for the help and the great program.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

I'll submit a bug report ehcache regarding this issue. In the meantime why don't you use FileBot portable? You can still use the filebot command. Just specify the full path to the filebot.cmd

EDIT: Found a workaround in ehcache so special characters in the username shouldn't be a problem anymore with next release.
:idea: Please read the FAQ and How to Request Help.
hhholmes
Posts: 9
Joined: 14 Oct 2012, 20:44

Re: Fully Automated Media Center

Post by hhholmes »

It appears that the replies to this original post keep getting deleted (are they being moved elsewhere in the forum?).

I was having trouble getting filebot to process torrented TV shows because my username includes an "&" symbol. You suggested I use filebot portable, but I can't find that thread for the details.

Is it as simple as uninstalling filebot, installing filebot portable, and telling uTorrent to use the same script as above ("filebot -script fn:utorrent-postprocess --output "X:/path/to/me)?
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: POSTBUCKET - where random posts in unrelated topics go

Post by rednoah »

Try the latest b2 release from here. That should fix it:
https://sourceforge.net/projects/filebo ... ebot/HEAD/

You need to copy the whole command line with options and arguments into uTorrent as described and shown on the screenshot. ;)

If you use portable you need to give uTorrent the full path to filebot.cmd, you can try running filebot -version in a cmd window first to figure out how it works.
:idea: Please read the FAQ and How to Request Help.
Morf
Posts: 14
Joined: 02 Nov 2012, 21:01

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by Morf »

I've started having a problem in release 3.1 which I suspect is due to this change.

Once I've renamed my files I copy them all to a NAS which is not NTFS, now I've started using 3.1 every time I copy the file I get a message saying...

"Property loss: Are you sure you want to copy this file without its properties...."

It's going to get very wearing very fast having to answer this question every time... to the extent that I may revert to an older version of FileBot or stop using it.

I'm presuming this is because of the extended attributes being applied to the file.

If so, is it possible to disable it? There's something about disabling it in the post above but I'm afraid it makes no sense to me, I'm not a programmer just a dumb (l)user...

Windows 7 x64 and Jave 7 update 1, if that helps.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by rednoah »

Erm, didn't know windows would annoy you about that... Do you have to confirm for each file or just once for all?

You can do 2 things:
-DuseNativeShell=false
(to use Java move/copy instead of Windows Shell)

-DuseExtendedFileAtrributes=false
(to disable EAs)

It's all in the *.l4f.ini files, you can edit these settings in those config files. Those settings are default if you use FileBot (platform) shortcut to run it.

EDIT:
I might be able to suppress those notifications but still allow you to use the windows move/copy dialog for progress indication. I'll send u an update tomorrow.
:idea: Please read the FAQ and How to Request Help.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by rednoah »

:: UPDATE ::

Please try r1288 and see if move/copy will still make you confirm these "Property loss" things:
http://sourceforge.net/projects/filebot ... ebot/HEAD/

(just override the FileBot.jar in your install folder with the one here to update everything)
:idea: Please read the FAQ and How to Request Help.
Morf
Posts: 14
Joined: 02 Nov 2012, 21:01

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by Morf »

Thanks for the quick response!

To take your questions in order:

1) I have to confirm on every move/copy operation. If I copy several files at once I do get prompted for each file (so several times during the copy), although there is the usual Windows "do this for all current items" checkbox. Even if I check this, I will be asked again on the next copy.

2) -DuseExtendedFileAtrributes=false made the problem go away, both for the platform version and the normal version (I prefer the look and feel of the normal version).

3) -DuseNativeShell=false is already set for the platform version, and that didn't help (until I set -DuseExtendedFileAtrributes=false). I'm renaming the files in their existing folder, then copying outside FileBot - not sure if this makes a difference.

4) r1288 - I tried this first, without setting -DuseExtendedFileAtrributes=false, and it didn't help.

So, I'm now using the ship version of 3.1 (not r1288) with -DuseExtendedFileAtrributes=false set, and the normal version works fine for me.

Problem solved as far as I am concerned, but if you'd like me to be a guinea pig for testing that would be fine.





For the benefit of anybody else who has this problem, you need to edit either filebot.platform.launcher.l4j.ini or filebot.launcher.l4j.ini depending upon whether you use the Filebot or Filebot (Platform) shortcut and change the highlighted line. If you're using Windows 7 with User Access Control enabled and Filebot is installed in C:\Program Files, you won't be able to save the file directly if you edit it with notepad: save it somewhere else and then copy it across manually.

filebot.platform.launcher.l4j.ini
# FileBot launch4j runtime config
-Dapplication.deployment=msi
-Dapplication.dir="%APPDATA%\FileBot"

# FileBot system properties
-DthreadPool=8
-Dunixfs=false

# proxy settings
# -Dhttp.proxyHost=localhost
# -Dhttp.proxyPort=8888

# disable analytics
# -no-analytics

# do not use native shell for move/copy operations
-DuseNativeShell=false

# use NTFS extended attributes for storing metadata
-DuseExtendedFileAttributes=false

# memory settings
-Xms64m
-Xmx512m

# http connection timeouts
-Dsun.net.client.defaultConnectTimeout=10000
-Dsun.net.client.defaultReadTimeout=60000

# look for native libs here
-Djna.library.path="%EXEDIR%"
-Djava.library.path="%EXEDIR%"

# force english locale
-Dfile.encoding=UTF-8
-Duser.country=US
-Duser.country.format=US
-Duser.language=en
-Duser.language.format=en

# disable HW acceleration
-Dsun.java2d.d3d=false

# force platform L&F
-Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel


filebot.launcher.l4j.ini
# FileBot launch4j runtime config
-Dapplication.deployment=msi
-Dapplication.dir="%APPDATA%\FileBot"

# proxy settings
# -Dhttp.proxyHost=localhost
# -Dhttp.proxyPort=8888

# disable analytics
# -no-analytics

# use native shell for move/copy operations
-DuseNativeShell=true

# use NTFS extended attributes for storing metadata
-DuseExtendedFileAttributes=false

# memory settings
-Xmx256m

# http connection timeouts
-Dsun.net.client.defaultConnectTimeout=10000
-Dsun.net.client.defaultReadTimeout=60000

# look for native libs here
-Djna.library.path="%EXEDIR%"
-Djava.library.path="%EXEDIR%"
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by rednoah »

Oh, so you first rename files in place, and only later move them to that other non-NTFS drive? Then you need -DuseExtendedFileAttributes=false to make FileBot not set EAs in the first place. EAs are set as files are renamed and it looks like the normal windows move/copy dialog is a bit stupid about handling those.

Can you try with r1288, but move-renaming files directly to their final destination, you know with absolute path as format? If FileBot is invoking the move/copy operations it should suppress these messages, should work with both -DuseNativeShell=false and -DuseNativeShell=true.
:idea: Please read the FAQ and How to Request Help.
Morf
Posts: 14
Joined: 02 Nov 2012, 21:01

Re: Metadata >> Extended Attributes && Airdate >> Creation T

Post by Morf »

OK, copying within Filebot with version 3.1 and -DuseNativeShell=true, I got the error. With the new version, I don't, regardless of -DuseNativeShell. So you're successfully suppressing the messages. :D

In my circumstances, this isn't much of a help because I could be copying the file to any of a number of different locations or even drives depending upon the particular program, so I'll stick to my existing way of working (rename in place and copy later) but with -DuseExtendedFileAttributes=false set.

Many thanks for your help!
ehmtwo
Posts: 5
Joined: 05 Nov 2012, 05:59

Re: Common Naming Schemes

Post by ehmtwo »

I'm trying to modify:

D:/TV Shows/{n}/{episode.special ? 'Special' : 'Season '+s}/{n} - {episode.special ? 'S00E'+special.pad(2) : s00e00} - {t}

I'm trying to replace "s00e00" with "s{s.pad(2)}e{e.pad(2)}"

but I cannot do that because they're within a {}, and reflect as the season and episode numbers instead of text. I'm not familiar with groovy, but is there a way I can replace the "S" and "E" with lower case? I'm not a fan of capitols because I find it hard to scan by eye, the lower case makes it easier to divide
ehmtwo
Posts: 5
Joined: 05 Nov 2012, 05:59

Re: How about sharing our format expressions?

Post by ehmtwo »

I have managed to figure how to replace "S"

s00e00.replaceFirst(/^S/, "s")

i'm messing with how to change the "E"
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: How about sharing our format expressions?

Post by rednoah »

{s00e00.lower()} ;)
:idea: Please read the FAQ and How to Request Help.
ehmtwo
Posts: 5
Joined: 05 Nov 2012, 05:59

Re: How about sharing our format expressions?

Post by ehmtwo »

<3
cgibby
Posts: 2
Joined: 09 Nov 2012, 06:02

Re: Fully Automated Media Center

Post by cgibby »

Is there a way to override the "format" expressions in the "utorrent-postprocess" function to specify my own preferences for the filepaths? I mean that I'd rather not put my TV shows and movies into separate subdirectories, and I like the {n}.{s00e00}.{t} episode filename format better than the default with the spaces and the hyphens.

I tried creating my own version of utorrent-postprocess.groovy, with the following changes, and referencing it locally, but my files just got un-rar-ed, no renaming or moving happened.

Code: Select all

def format = [
	tvs:   '''{n}{episode.special ? " - Special" : " - Season "+s.pad(2)}/{n}.{episode.special ? "S00E"+special.pad(2) : s00e00}.{t}''',
	anime: '''Anime/{n}/{n} - {sxe} - {t}''',
	mov:   '''{n} ({y})/{n} [{y}]{" CD$pi"}{".$lang"}'''
]
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

What's the error output? Did you forget to copy lib/*.groovy? It'll need that for artwork/email/etc
:idea: Please read the FAQ and How to Request Help.
cgibby
Posts: 2
Joined: 09 Nov 2012, 06:02

Re: Fully Automated Media Center

Post by cgibby »

Ah, yes, that did it. Once I downloaded the /lib/*.groovy files, my homebrew version of utorrent-postprocess.groovy worked great. Thanks for the info and for this great program. FileBot with these customizations should save me tons of time versus my old workflow!
ohadbenita
Posts: 9
Joined: 26 Nov 2012, 07:38

Re: How about sharing your CLI scripts?

Post by ohadbenita »

filebot -script fn:revert path/to/files --action rename doesn't work:

C:\Users\HTPC>filebot -script fn:revert "a:/tv shows/homeland/" --action rename
IllegalArgumentException: Illegal rename action: rename
java.lang.IllegalArgumentException: Illegal rename action: rename
at net.sourceforge.filebot.StandardRenameAction.forName(Unknown Source)
at net.sourceforge.filebot.StandardRenameAction$forName.call(Unknown Sou
rce)
at Script3.revert(Script3.groovy:9)
at Script3$_run_closure1.doCall(Script3.groovy:18)
at Script3.run(Script3.groovy:16)
at net.sourceforge.filebot.cli.ScriptShell.evaluate(Unknown Source)
at net.sourceforge.filebot.cli.ScriptShell.runScript(Unknown Source)
at net.sourceforge.filebot.cli.ArgumentProcessor.process(Unknown Source)

at net.sourceforge.filebot.Main.main(Unknown Source)
Failure (░_░)
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: How about sharing your CLI scripts?

Post by rednoah »

Sorry, you'll need to grab the latest build or wait for the next release if you really need --action rename.
:idea: Please read the FAQ and How to Request Help.
opentag
Posts: 1
Joined: 30 Nov 2012, 17:17

Re: Fully Automated Media Center

Post by opentag »

Great script!

2 quick questions -

Is there a way to include the style of file name format desired in the command line? I've modified the GUI usage to output the files in the format I want but the command line output doesn't seem to match the format I was hoping for.

While artwork=yes seems to get all the nfo and other pieces for the Show in question it doesn't appear to get an nfo for the specific Episode being worked on. Am I missing something there?

Thanks again for the great script!
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

1. Cmdline is configured via cmdline options only, it does not magically use random GUI settings (albeit easy to add, that'd be very unclean).

2. Added support for overriding the default naming formats via --def:
--def "seriesFormat=TV/…"
--def "animeFormat=Anime/…"
--def "movieFormat=Movies/…"

Not gonna advertise that much since people are just gonna mess up the cmdline arguments with unescaped quotes. If you don't understand how arguments are parsed in your shell you will probably run into problems if you use single/double quotes, ampersands, etc in your format.

3. Episode Nfos are pretty much useless and with well-named files any HTPC software can grab that info easily anyway.
:idea: Please read the FAQ and How to Request Help.
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

Hi!

I was just expanding the functionality of the deluge adaptor, and just realised symlinks don't work.
Why does filebot need to run as with root privileges in order to create symlinks?

Cheers!
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

Actually, I was wrong.
It is failing even running it with sudo.
I get "Exception: Unsupported Operation: createSymbolicLink"

Any idea why?
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

On Windows it needs to be admin. Linux should work fine as normal users. You'll need Java 7 though.
:idea: Please read the FAQ and How to Request Help.
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

Yes, installing Java 7 from oracle fixed the problem thanks :)
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

Would be useful to have a script option to disable archive extraction..
Cheers and good work!
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Why would that be useful? Right now it'll only extract archives that contain video files.
:idea: Please read the FAQ and How to Request Help.
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

Oh.. in that case..
I thought it was extracting all files first

Thanks
verysofttoiletpaper
Posts: 141
Joined: 05 Jul 2012, 09:44

Re: Fully Automated Media Center

Post by verysofttoiletpaper »

By the way, Plex integration doesn't seem to be working, maybe due to a new version...

http://$server:$port/plex doesn't seem to contain any useful information anymore: http://hastebin.com/cafivirihi.xml
On the other hand, http://miner:32400/library/sections/ seems to have all the needed information: http://hastebin.com/pifugopihe.xml

Can you make it work again? :D
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Does the rescan request still work like this?
http://$server:$port/library/sections/$key/refresh/
:idea: Please read the FAQ and How to Request Help.
cheesemaker
Posts: 49
Joined: 03 Sep 2012, 10:52

Re: Fully Automated Media Center

Post by cheesemaker »

Yes, http://$server:$port/library/sections/all/refresh, worked for me.
http://wiki.plexapp.com/index.php/PlexN ... g_Sections
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Updated it the way you suggested. Should take effect by tomorrow.
:idea: Please read the FAQ and How to Request Help.
beeman147
Posts: 1
Joined: 22 Dec 2012, 05:57

Re: Fetch Artwork and Nfo for Movies

Post by beeman147 »

rednoah wrote:Description:
  1. Download artwork for all your Movies from TheMovieDB. Fetch Movie nfo and all kinds of artwork and save files according to XBMC standards.
  2. Disable GUI tv series confirmation dialogs via -non-strict option (on headless machines this is the default).
Usage:

Code: Select all

filebot -script fn:artwork.tmdb /path/to/movies/
Options:
--conflict override to fetch artwork from scratch (not just missing artwork)
-non-strict to disable user-interaction and run headless

Notes:
* Movies are expected to be organized into folders. The movie is determined using the name of the parent folder of each video file.

Download Script:
http://filebot.sf.net/scripts/artwork.tmdb.groovy
Hello, thanks for the great program. It's really helped me begin the quest to get organized!

I have got this script working from the command line but it returns 'Movie Not Found' for each movie in the folder.
I have all movies in their own folder as suggested, but the folder names have the format:

{n} [{y},{director}][{source}]

As a test, I changed the folder for the first film to {n} [{y}] and this worked.
How could I modify the script to be able to pick up the movie name correctly?
Or would it be better to just use the {n} [{y}] naming convention?

Much appreciated
Bee
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: How about sharing your CLI scripts?

Post by rednoah »

:idea: Please read the FAQ and How to Request Help.
danielsokolowski
Posts: 9
Joined: 03 Jan 2013, 01:55

Re: [MANUAL] Configure OpenSubtitles and Sublight login

Post by danielsokolowski »

Sublight now allows free API keys again: http://www.sublight.si/RegisterClient.aspx. This is the wrong thread for this but why aren't there any GUI options for all these 'filebot -script fn:<commands>' ? As a new user I find it intimidating.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [MANUAL] Configure OpenSubtitles and Sublight login

Post by rednoah »

Well, one thing is that many people use FileBot without any GUI so this works for everybody.

More importantly if your run -script fn:configure it'll download the script and since API client/keys are hard-coded (currently FileBot identifies itself as SublightCmd) in the script I can easily auto-update these settings without a new release.
:idea: Please read the FAQ and How to Request Help.
beeblebrox42
Posts: 3
Joined: 05 Jan 2013, 19:52

Re: Fully Automated Media Center

Post by beeblebrox42 »

I'm not integrating with utorrent, but this script via cli mode almost does everything I need it to, so thanks!

However I can't figure out how to get the hardlink action to work which I really need. The output claims it is a hardlink rename but it only creates the directories and not the file link. The docs say utorrent must be ran as 'admin', so I am guessing I must run filebot as root? In my script I sudo run filebot but that didn't resolve the issue. I'm a bit stuck and looking for help.

I'm running on a 64bit linux distribution.

Thanks,
James
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

What's the cmdline output? If you're using --action hardlink it'll do that or print errors if it doesn't work. Make sure you're using Java 7, on linux you don't need to be root to create hardlinks.
:idea: Please read the FAQ and How to Request Help.
beeblebrox42
Posts: 3
Joined: 05 Jan 2013, 19:52

Re: Fully Automated Media Center

Post by beeblebrox42 »

rednoah wrote:What's the cmdline output? If you're using --action hardlink it'll do that or print errors if it doesn't work. Make sure you're using Java 7, on linux you don't need to be root to create hardlinks.
Thanks for the rapid response. I knew hardlinks in linux normally didn't require root, thought it was a java limitation.

If hardlinking requires Java 7 that might be the issue. I am using OpenJDK 1.6.0_24. I'll try to see if can upgrade to 1.7 and report back.

Code: Select all

FileBot 3.2 (r1372)
JNA Native: 3.5.0
MediaInfo: MediaInfoLib - v0.7.61
7-Zip-JBinding: OK
Extended Attributes: java.lang.NoClassDefFoundError: Ljava/nio/file/attribute/BasicFileAttributeView;
GVFS: OK
OpenJDK Runtime Environment 1.6.0_24 (headless)
64-bit OpenJDK 64-Bit Server VM
Linux (amd64)
Here is an example of one of the renames. There were no errors but only the to directory structure was created.

Code: Select all

[HARDLINK] Rename [/mnt/torrents/finished/NCIS.S10E01.HDTV.x264-LOL/ncis.1001.hdtv-lol/NCIS.S10E01.HDTV.x264-LOL.mp4] to [/mnt/torrents/organized/TV Shows/NCIS/Season 10/NCIS - S10E01 - Extreme Prejudice.mp4]
beeblebrox42
Posts: 3
Joined: 05 Jan 2013, 19:52

Re: Fully Automated Media Center

Post by beeblebrox42 »

Switching to OpenJDK 1.7 fixed the issue, thanks again.
paddym
Posts: 5
Joined: 07 Jan 2013, 11:26

Re: Fully Automated Media Center

Post by paddym »

Hey Folks,

Brand new Nubie here I've been thinking about automating my xbmc setup for downloading and I'm absolutely blown away by what this script says it does.
Great work!

My question is probably stupid, where do I put this actual script file? I know you have steps entering it into uTorrent etc but what about other steps like saving the script somewhere?

thanks :-)
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

You don't have to do anything. Just copy and paste the cmd and it'll work out of the box.

The -script fn:name argument means that FileBot will automatically grab the script from my online repository (it'll also auto-update every day).
:idea: Please read the FAQ and How to Request Help.
paddym
Posts: 5
Joined: 07 Jan 2013, 11:26

Re: Fully Automated Media Center

Post by paddym »

Wow,

That's really great stuff thank you for this great piece of work.

I'll test it out tonight and see how it gets on... Watch this space for more dunce questions ;-)

Great work,
Demerzel
Posts: 6
Joined: 07 Jan 2013, 23:10

Re: Fully Automated Media Center

Post by Demerzel »

This seems really tits..

Im wondering how i can set my output to different disks?
eg my tv is on C: and movies is on E:
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Override the format expression => @see Customize Paths
:idea: Please read the FAQ and How to Request Help.
Demerzel
Posts: 6
Joined: 07 Jan 2013, 23:10

Re: Fully Automated Media Center

Post by Demerzel »

Ok, sorry for the noobiness.


So, id set for example --output /my/tv/dir
and something like: --def "movieFormat="E:movies"/{n} {y}/{fn}"
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Fully Automated Media Center

Post by rednoah »

Reading this thread should answer all your questions:
http://filebot.sourceforge.net/forums/v ... ?f=8&t=429
:idea: Please read the FAQ and How to Request Help.
SyAccursed
Posts: 1
Joined: 30 Jan 2013, 19:12

Forcing Show Names via CSV file

Post by SyAccursed »

Quite new to this tool but it is rather awesome so I thought I'd share this after working it out!

It's kind of an 'everyman' code to move and rename files into a fairly simplistic format.

Code: Select all

E:\Videos\{def a; new File('E:/Videos/names.csv').splitEachLine(';'){ if (n == it[0]) a = it[1]}; a ?: n.upperInitial().replaceTrailingBrackets()}\Season {s.pad(2)}\{es*.pad(2).join(' & ').replaceAll('null',{episode.special ? 'Special '+special.pad(2):''})} - {t.upperInitial().replaceAll(/[?.:]/).replacePart(' (Part $1)')}
Having shared this with my brother (on mac) we hit some issues with it (to do with file paths and such) and it needs to be done like this to work (basically just exact past no ~ shortcuts and swapped \ for / in the file path.

Code: Select all

/Users/Symon/Television/{def a; new File('/Users/Symon/Television/names.csv').splitEachLine(';'){ if (n == it[0]) a = it[1]}; a ?: n.upperInitial().replaceTrailingBrackets()}/Season {s.pad(2)}/{es*.pad(2).join(' & ').replaceAll('null',{episode.special ? 'Special '+special.pad(2):''})} - {t.upperInitial().replaceAll(/[?.:]/).replacePart(' (Part $1)')}
What it does is:
1) Move files into:

Code: Select all

E:/Videos/Show Name/Season 00/00 - Title
2) Has an inbuilt force show name directed at
E:/Videos/names.csv
Using the format of:

Code: Select all

Actual Show Name;Show name you want
This also proves handy for forcing extra folders in example:
Avatar: The Last Air Bender;Avatar/The Last Air Bender
The Legend of Korra;Avatar/The Legend of Korra

Causes these two shows to be neatly organised into E:/Videos/Avatar/Show Name/Season/Episode

3) Inbuilt multi-part episode handle that outputs format of

Code: Select all

01 & 02 - Title
4) Replaces part numbers on episodes with (Part 0)

5) If a special episode is included it is placed within its related Season and formatted as Special 00 - Title

6) General house-keeping. Capitalises first initials for all words on show title and episode titles + knocks out ? . and : from titles (probably could do with a few more knockced out but I just add in illegals as I find em)
Centric
Posts: 1
Joined: 31 Jan 2013, 22:59

Re: [SNIPPET] Put the "The" at the end

Post by Centric »

Thank you for this rednoah, much appreciated. I was just wondering if its possible to reverse this process for the input file? (I don't have much knowledge in this areas, if my last sentence didn't make it obvious). But if I run filebot in command prompt on "Avengers, The" is it possible to make it "The Avengers" before it tries to look up the film... I hope that made sense...

Any help would be greatly appreciated
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [SNIPPET] Put the "The" at the end

Post by rednoah »

Yes, but only with your own customised scripting. The cmdline allows you to force the query.

Though for the sake of simplicity I suggest you:
* make sure to add .nfo files with imdbid (can be generated by the artwork.* scripts).

OR
* include {imdbid} in the filename

OR
* if you renamed it before with FileBot and have "ExtendedAttributes" enabled it'll already know everything because it can read all metadata from filesystem attributes. (This is only enabled on Windows when installed via .msi and running with Java 7).
:idea: Please read the FAQ and How to Request Help.
buck3y3
Donor
Posts: 39
Joined: 05 Nov 2012, 01:19

Re: Fully Automated Media Center

Post by buck3y3 »

rednoah wrote:What's not working with serviio? Just initiating a rescan is plex/xbmc specific. If you find out how to do that with serviio I can add that.
How would I find this? I read through the api page for serviio but have no clue on how to combine it.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: POSTBUCKET - where random posts in unrelated topics go

Post by rednoah »

Whats it say? Send http requests?
:idea: Please read the FAQ and How to Request Help.
Maxbn
Posts: 4
Joined: 12 Feb 2013, 13:37

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by Maxbn »

Hi!

Thanks for all that, I've been waiting a long time for a guide on how to use it with transmission!

I carefully followed the steps above, but when a download ends, nothing happens.
Is there any pre-requisite before doing any of this ?

About the part in the nano editor, I have two questions:

is this part in the code "output "Path/to/folder" supposed to be replaced by something ?
secondly it may be irrelevant but when I copy and paste that part, the first time i do it, only the first and third line are copied, I have to paste it a second time so that the second line appears, is that a normal behavior?

Once again thanks for working on that!
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by rednoah »

You can also use your favourite text editor to edit the script. It's just text.

Of course you'll need to replace this part and specify where the files will go:

Code: Select all

 --output "path/to/folder"
:idea: Please read the FAQ and How to Request Help.
Maxbn
Posts: 4
Joined: 12 Feb 2013, 13:37

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by Maxbn »

Thanks I got it to work!

For the record I installed Java, and changed the output path.

The only thing is it doesn't fetch the subtitles, which makes sense as I don't see "subtitles=en " as i see on the utorrent version.
Now my question is does all the options of the utorrent version works with this version ?
Options:
--def music=n Don't process music files
--def subtitles=en,de,fr Download subtitles for the given languages
--def artwork=n Don't fetch artwork/nfo
--def backdrops=y Fetch all available backdrops (not just one as with artwork=y)
--def xbmc=hostname Tell the given XBMC instance to rescan it's library
--def plex=hostname Tell the given Plex instance to rescan it's library
--def myepisodes=username:password Use the following MyEpisodes account to mark episodes as 'acquired'
--def pushover=userkey Send update notifications to your devices via Pushover
--def gmail=username:password Use the following gmail account to send and recieve reports
--def mailto=email Send report to the given email address (optional, email to yourself if not set)
--def ignore=regex Ignore filepaths that match the given regular expression
--def clean=y Automatically empty folders and clutter files that may be left behind after moving the video files or temporary extracted files after copying
If so do I just have to copy and paste the parts I want?
Sorry about these questions I'm a real noob, hopefully I'm not the only one and this might help others...
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by rednoah »

Yes, you can just append options to the cmdline above and it'll work:

Code: Select all

--def subtitles=en
The startup script is just glue logic between transmission and filebot. Also it's were you can set additional options for filebot and the amc script. The amc script itself is always the same, called via utorrent, transmission, or just directly from cmdline.
:idea: Please read the FAQ and How to Request Help.
Maxbn
Posts: 4
Joined: 12 Feb 2013, 13:37

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by Maxbn »

Thanks ! it works! and it's pretty awesome.
buck3y3
Donor
Posts: 39
Joined: 05 Nov 2012, 01:19

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by buck3y3 »

Maxbn wrote:Thanks I got it to work!

For the record I installed Java, and changed the output path.

The only thing is it doesn't fetch the subtitles, which makes sense as I don't see "subtitles=en " as i see on the utorrent version.
Now my question is does all the options of the utorrent version works with this version ?
Options:
--def music=n Don't process music files
--def subtitles=en,de,fr Download subtitles for the given languages
--def artwork=n Don't fetch artwork/nfo
--def backdrops=y Fetch all available backdrops (not just one as with artwork=y)
--def xbmc=hostname Tell the given XBMC instance to rescan it's library
--def plex=hostname Tell the given Plex instance to rescan it's library
--def myepisodes=username:password Use the following MyEpisodes account to mark episodes as 'acquired'
--def pushover=userkey Send update notifications to your devices via Pushover
--def gmail=username:password Use the following gmail account to send and recieve reports
--def mailto=email Send report to the given email address (optional, email to yourself if not set)
--def ignore=regex Ignore filepaths that match the given regular expression
--def clean=y Automatically empty folders and clutter files that may be left behind after moving the video files or temporary extracted files after copying
If so do I just have to copy and paste the parts I want?
Sorry about these questions I'm a real noob, hopefully I'm not the only one and this might help others...
I suppose I should have added that to the guide, but I couldn't remember if Java came with the bundle. Another thought, did you have to do anything special with your filebot install?
Maxbn
Posts: 4
Joined: 12 Feb 2013, 13:37

Re: [GUIDE] Fully Automated Media Center with Transmission (

Post by Maxbn »

Not that I can remember, I just downloaded the bundle, and installed the app without doing anything.
User avatar
rednoah
The Source
Posts: 24698
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

[FAQ] How can I change the filename?

Post by rednoah »

The format engine allows you to fully automatically make any kind of change to show names and episode titles via Groovy expressions.

Q: Some episodes start with '...Name' - Is it possible to ignore the dots when renaming?
A: Sure, just use after(regex) function.

Code: Select all

{t.after(/^[.]+/)}
:idea: Please read the FAQ and How to Request Help.
Omertron
Power User
Posts: 9
Joined: 14 May 2012, 14:07

Re: How about sharing our format expressions?

Post by Omertron »

This is the format that I use for YAMJ (and should work well with any other media center)

Code: Select all

..\{n.replaceFirst(/^(?i)(The|A)\s(.+)/, /$2, $1/)} {'('+y+')'}\{n} {'('+y+')'}{'.'+source}{'.'+vf}{".[CD$pi]"}{fn.match(/[.]fanart|[.]mkv/)}
All my movies are staged into a directory that I rename from and check before moving to my main movie folder.

"..\" moves the movie from it's staging directory to a correctly named folder

Code: Select all

{n.replaceFirst(/^(?i)(The|A)\s(.+)/, /$2, $1/)} {'('+y+')'}\
Renames the folder to be "name, the (year)" for better sorting

Code: Select all

{n} {'('+y+')'}{'.'+source}{'.'+vf}{".[CD$pi]"}{fn.match(/[.]fanart|[.]mkv/)}
Renames the file to be "the name (year).format.resolution.[cd#]"
gavdari
Posts: 8
Joined: 11 Mar 2013, 21:56

Re: [MANUAL] Configure OpenSubtitles and Sublight login

Post by gavdari »

How can I manually modify the preferences file in linux? I'm trying to login into opensubtitles only (I don't have a sublight account) and when I'm running filebot -script fn:configure.login, This is what I get:

Code: Select all

Testing OpenSubtitles... OK
Testing Sublight... WebServiceException: Response indicates error: You must log in first.
javax.xml.ws.WebServiceException: Response indicates error: You must log in first.
	at net.sourceforge.filebot.web.SublightSubtitleClient.checkError(Unknown Source)
	at net.sourceforge.filebot.web.SublightSubtitleClient.getSubtitleList(Unknown Source)
	at net.sourceforge.filebot.web.SublightSubtitleClient$getSubtitleList.call(Unknown Source)
	at Script3.run(Script3.groovy:36)
	at net.sourceforge.filebot.cli.ScriptShell.evaluate(Unknown Source)
	at net.sourceforge.filebot.cli.ScriptShell.runScript(Unknown Source)
	at net.sourceforge.filebot.cli.ArgumentProcessor.process(Unknown Source)
	at net.sourceforge.filebot.Main.main(Unknown Source)
Failure (°_°)
and the files in ~/.java/.userPrefs are empty. I'm running Filebot on Ubuntu.
Post Reply