AMC Default Databases & Specifying/Changing

Running FileBot from the console, Groovy scripting, shell scripts, etc
Post Reply
whereswaller
Posts: 23
Joined: 05 Mar 2015, 21:59

AMC Default Databases & Specifying/Changing

Post by whereswaller »

Hi,
What are the default databases AMC engages to retrieve information on the three file types (television, movie and music)?

Is there any way to specify an alternate database (for example, TVRage rather than TheTVDB) via the AMC script?

Many thanks,
James
User avatar
rednoah
The Source
Posts: 22998
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: AMC Default Databases & Specifying/Changing

Post by rednoah »

1)
TheTVDB / TheMovieDB / AniDB / AcoustID

2)
No, but you can make your own fork.
:idea: Please read the FAQ and How to Request Help.
whereswaller
Posts: 23
Joined: 05 Mar 2015, 21:59

Re: AMC Default Databases & Specifying/Changing

Post by whereswaller »

Hi rednoah,
Thanks for your prompt response as always. I assume by fork you are referring to modifying the source code, downloading to my machine and then referencing the modified code in uTorrent rather than the default AMC script (https://github.com/filebot/scripts/blob ... amc.groovy). I am obviously reluctant to do this because it means that I will not receive any future updates you make to the source code unless I re-download and make all my modifications again.

My current execution of AMC in uTorrent is as follows:

Code: Select all

filebot.launcher -script fn:amc --output "I:/" --log-file amc.log --action copy --conflict skip -non-strict --def music=n --def plex=localhost --def pushbullet=XKGdtNocBxdADepDy30ptyWFHrVW6E8I --def clean=y subtitles=en artwork=n "ut_label=%L" "ut_state=%S" "ut_title=%N" "ut_kind=%K" "ut_file=%F" "ut_dir=%D" --def "seriesFormat=I:/Television/{n.upperInitial()}/{'Season '+s.pad(2)}/{n.upperInitial()} {s.pad(2)}x{es*.pad(2).join('-')} - {t.upperInitial().replacePart(replacement = ', Part $1')}" "animeFormat=J:/Anime/{n.upperInitial()}/{fn}" "movieFormat=J:/Film/{y}/{allOf{info.OriginalName.upperInitial()}{n.upperInitial()}.unique().join(' - ')} {'('+y+')'} {'(Part '+pi+' of '+pn+')'}" "musicFormat=J:/Music/{artist.upperInitial()}/{'('+y+') '}{album.upperInitial()}/{artist.upperInitial()} - {t.upperInitial()}"
This does a great job however I'm hoping to enhance AMC in the following ways:

1. Automatically extract RAR files.

I'm currently receiving the below error rather than the extraction running. Does this mean I have the 32bit version of Filebot installed on my Windows 8.1 64bit operating system (http://www.filebot.net/forums/viewtopic.php?f=4&t=1593)? Is the 64bit version downloaded from here: https://chocolatey.org/packages/filebot/

Code: Select all

Parameter: deleteAfterExtract = y
Parameter: music = n
Parameter: plex = localhost
Parameter: pushbullet = *****
Parameter: clean = y
Parameter: subtitles = en
Parameter: artwork = n
Parameter: ut_label = television
Parameter: ut_state = 20
Parameter: ut_title = MythBusters.S15E05.HDTV.x264-KILLERS
Parameter: ut_kind = multi
Parameter: ut_file = Sample\sample-mythbusters.s15e05.hdtv.x264-killers.mp4
Parameter: ut_dir = C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS
Parameter: seriesFormat = I:/Television/{n.upperInitial()}/{'Season '+s.pad(2)}/{n.upperInitial()} {s.pad(2)}x{es*.pad(2).join('-')} - {t.upperInitial().replacePart(replacement = ', Part $1')}
Parameter: animeFormat = J:/Anime/{n.upperInitial()}/{fn}
Parameter: movieFormat = J:/Film/{y}/{allOf{info.OriginalName.upperInitial()}{n.upperInitial()}.unique().join(' - ')} {'('+y+')'} {'(Part '+pi+' of '+pn+')'}
Parameter: musicFormat = J:/Music/{artist.upperInitial()}/{'('+y+') '}{album.upperInitial()}/{artist.upperInitial()} - {t.upperInitial()}
Apr 23, 2015 5:17:14 AM net.filebot.archive.SevenZipLoader requireNativeLibraries
WARNING: Failed to preload library: java.lang.UnsatisfiedLinkError: no mingwm10 in java.library.path
SevenZipNativeInitializationException: Failed to load 7z-JBinding: C:\Program Files\FileBot\7-Zip-JBinding.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.nfo
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r00
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r01
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r02
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r03
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r04
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r05
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r06
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r07
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r08
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r09
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.r10
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\mythbusters.s15e05.hdtv.x264-killers.sfv
Exclude: C:\Users\James\Downloads\Complete\television\MythBusters.S15E05.HDTV.x264-KILLERS\Sample\sample-mythbusters.s15e05.hdtv.x264-killers.mp4
No files selected for processing
Failure (°_°)
2. Run the script only on torrents with certain labels.

I will need to do some more research into Groovy coding so that I can understand and follow http://www.filebot.net/forums/viewtopic.php?f=4&t=2462.

3. Be able to change the information database.

Does merely changing the variable "TheTVDB" to "TVRage" in the following source code extract alter the information database referenced?

Code: Select all

// EPISODE MODE
	if ((group.tvs || group.anime) && !group.mov) {
		// choose series / anime config
		def config = group.tvs ? [name:group.tvs,   format:format.tvs,   db:'TheTVDB']
		                       : [name:group.anime, format:format.anime, db:'AniDB']
		def dest = rename(file: files, format: config.format, db: config.db)
		if (dest && artwork) {
			dest.mapByFolder().each{ dir, fs ->
				def hasSeasonFolder = (config.format =~ /(?i)Season/)
				def sxe = fs.findResult{ eps -> parseEpisodeNumber(eps) }
				def seriesName = detectSeriesName(fs, true, false)
				def options = TheTVDB.search(seriesName, _args.locale)
				if (options.isEmpty()) {
					log.warning "TV Series not found: $config.name"
					return
				}
				def series = options.sortBySimilarity(seriesName, { s -> s.name }).get(0)
				log.fine "Fetching series artwork for [$series] to [$dir]"
				fetchSeriesArtworkAndNfo(hasSeasonFolder ? dir.dir : dir, dir, series, sxe && sxe.season > 0 ? sxe.season : 1)
			}
		}
		if (dest == null && failOnError) {
			fail("Failed to rename series: $config.name")
		}
	}
4. Enhance the notifications that are sent to Pushbullet.

I will need to do some more research into Groovy coding so that I can understand and follow http://www.filebot.net/forums/viewtopic.php?f=4&t=2158.

Is there a limit on the number of characters one can push through to Pushbullet? Ideally I'd like to present the old filename and new filepath/filename without needing to open up the HTML attachment.

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

Re: AMC Default Databases & Specifying/Changing

Post by rednoah »

1.
Yep, something doesn't match. See FAQ for that one.

2.
The link is for running 3rd party tools on processed files. You can control what the amc script does to some degree by passing in a label. If that label is "ignore" then amc script will do nothing.

3.
Yes. But things have been fine-tuned for TheTVDB and it's peculiarities so if you change that you better do lots of testing before you run it with -non-strict again. ;)

4.
No idea. Pretty sure there's a limit, probably in the few hundred chars range, hence things are sent via file attachment.
:idea: Please read the FAQ and How to Request Help.
whereswaller
Posts: 23
Joined: 05 Mar 2015, 21:59

Re: AMC Default Databases & Specifying/Changing

Post by whereswaller »

Hi rednoah,
Thanks as always for your help. I managed to fix Problem 1 by upgrading uTorrent and FileBot to the 64-bit versions. And I've decided that Problem 4 isn't worth trying to resolve.

In terms of Problems 2 and 3, I'm hoping to approach these in a different (more manual) way in the short term. In order to do this, I'm hoping you can answer some questions for me about the AMC script:

a) Which filepath does "--def unsorted=y" move the unsorted files to?

b) If "action=copy" does "--def unsorted=y" copy rather than move the unsorted files?

c) Are the files excluded from processing by "--def ignore=regex" captured in the "-def unsorted=y" parameter and moved/copied to another filepath?

d) Does "--def reportError=y" only send error reports to an e-mail address or does it also send error reports to any notification system added to the script (for example, Pushbullet)?

Thanks for all your work as always, once I'm fully set up I'm going to donate to FileBot as it's safe to say your software has saved me innumerable hours of file sorting effort. I only wish I'd discovered it sooner.

Cheers.
whereswaller
Posts: 23
Joined: 05 Mar 2015, 21:59

Re: AMC Default Databases & Specifying/Changing

Post by whereswaller »

In case anyone is interested, answers below:

a) Which filepath does "--def unsorted=y" move the unsorted files to?

--> Creates an "/Unsorted" in the Output directory.

b) If "action=copy" does "--def unsorted=y" copy rather than move the unsorted files?

--> Yes.

c) Are the files excluded from processing by "--def ignore=regex" captured in the "-def unsorted=y" parameter and moved/copied to another filepath?

--> Yes.

d) Does "--def reportError=y" only send error reports to an e-mail address or does it also send error reports to any notification system added to the script (for example, Pushbullet)?

--> The function also sends a notification to whatever notification system has been added to the script (for example, Pushbullet).
Post Reply