AMC Script Fails to Recognize Anime File
Posted: 27 Apr 2014, 19:19
I'm using FileBot v4.0.
This is the exact command I'm running...
java -jar ~/bin/filebot/FileBot_4.0.jar -script ~/bin/filebot/scripts/amc.groovy --output /mnt/red1/Library --log-file /tmp/filebot.log --action hardlink -non-strict -extract -r --conflict override --def plex=localhost excludeList=processed clean=y seriesFormat="$seriesFormat" animeFormat="$animeFormat" movieFormat="$movieFormat" "$torrentPath"
This is the log output...
Parameter: plex = localhost
Parameter: excludeList = processed
Parameter: clean = y
Parameter: seriesFormat = TV Shows/{n}/Season {s.pad(2)}/{n.space('.')} - {s00e00} - {t.space('.')} - {vf}.{vc}.{ac}
Parameter: animeFormat = Anime/{n}/{n.space('.')} - {absolute.pad(2)} - {t.space('.')} - {vf}.{vc}.{ac}
Parameter: movieFormat = Movies/{n} {y}/{fn} - {vf}.{vc}.{ac}
Argument: /mnt/red1/Completed/Anime
Input: /mnt/red1/Completed/Anime/Mahouka.Koukou.no.Rettousei - 04 - 720p.mkv
Group: [anime:null] => [Mahouka.Koukou.no.Rettousei - 04 - 720p.mkv]
Done ヾ(@⌒ー⌒@)ノ
I loaded the file in the filebot GUI and tried to "Fetch Data" from TheTVDB, but it prompted me to enter the series name.
I tried "Fetch Data" again with AniDB and it was able to find a matching name without additional input.
I looked at the amc.groovy script and it looks like a call to detectSeriesName() is returning null which results in the [anime:null] output.
I would guess that detectSeriesName() is only checking TheTVDB and not AniDB.
One possible solution would be to define a "detectAnimeSeriesName()" function which specifically uses AniDB. At that point of the script, it already knows that it is an Anime file (through the forceAnime() call), so it should be able to explicitly use AniDB.
I would just do it myself, but I can't seem to find the code for detectSeriesName().
This is the exact command I'm running...
java -jar ~/bin/filebot/FileBot_4.0.jar -script ~/bin/filebot/scripts/amc.groovy --output /mnt/red1/Library --log-file /tmp/filebot.log --action hardlink -non-strict -extract -r --conflict override --def plex=localhost excludeList=processed clean=y seriesFormat="$seriesFormat" animeFormat="$animeFormat" movieFormat="$movieFormat" "$torrentPath"
This is the log output...
Parameter: plex = localhost
Parameter: excludeList = processed
Parameter: clean = y
Parameter: seriesFormat = TV Shows/{n}/Season {s.pad(2)}/{n.space('.')} - {s00e00} - {t.space('.')} - {vf}.{vc}.{ac}
Parameter: animeFormat = Anime/{n}/{n.space('.')} - {absolute.pad(2)} - {t.space('.')} - {vf}.{vc}.{ac}
Parameter: movieFormat = Movies/{n} {y}/{fn} - {vf}.{vc}.{ac}
Argument: /mnt/red1/Completed/Anime
Input: /mnt/red1/Completed/Anime/Mahouka.Koukou.no.Rettousei - 04 - 720p.mkv
Group: [anime:null] => [Mahouka.Koukou.no.Rettousei - 04 - 720p.mkv]
Done ヾ(@⌒ー⌒@)ノ
I loaded the file in the filebot GUI and tried to "Fetch Data" from TheTVDB, but it prompted me to enter the series name.
I tried "Fetch Data" again with AniDB and it was able to find a matching name without additional input.
I looked at the amc.groovy script and it looks like a call to detectSeriesName() is returning null which results in the [anime:null] output.
I would guess that detectSeriesName() is only checking TheTVDB and not AniDB.
One possible solution would be to define a "detectAnimeSeriesName()" function which specifically uses AniDB. At that point of the script, it already knows that it is an Anime file (through the forceAnime() call), so it should be able to explicitly use AniDB.
I would just do it myself, but I can't seem to find the code for detectSeriesName().