z411 / trackma

Open multi-site list manager for Unix-like systems. (ex-wMAL)
https://z411.github.io/trackma
GNU General Public License v3.0
779 stars 82 forks source link

Certain titles are not found in Anime directory #322

Closed SolarAquarion closed 5 years ago

SolarAquarion commented 6 years ago

[VCB-Studio+Commie] Sword Art Online II [01].mkv this title wasn't found in the anime directory and other permutations of that style wasn't found

purposelycryptic commented 6 years ago

More than 99% of my local anime files in the scan directory aren't recognized by trackma - as far as I can tell, only 4 series (out of 2,305) had their files successfully IDed.

It isn't a huge issue for me, as it does properly ID them when they are being played in Plex, which is where I watch them, so AniList gets accurately updated regardless, but I thought it worth mentioning, as I figure you can never have too much information.

My files all use the same naming/organization scheme, which is: SeriesName [GroupName] [Source, VideoResolution]\SeriesName - EpNum [GroupName] [Source, VideoResolution, AudioCodec] [CRCHash].Extension

As an example, the first episode of this season's Chio-chan no Tsuugakuro is stored like this: Chio-chan no Tsuugakuro [HorribleSubs] [www, 720p]\Chio-chan no Tsuugakuro - 01 [HorribleSubs] [www, 720p, AAC] [5D4D1205].mkv

I use AniAdd for renaming, so the series names etc are all according to AniDB rather than AniList, but I don't believe that to be the issue, as Taiga, an app similar to trackma (but without Plex support), managed to ID roughly 95% of my collection, also using AniList as its reference.

z411 commented 5 years ago

Extremely sorry for the huge delay; I've managed to get free time to work on Trackma just lately.

I looked into your issue and the Info Extractor seems to parse your filenames just fine:

$ python3 AnimeInfoExtractor.py 'Chio-chan no Tsuugakuro - 01 [HorribleSubs] [www, 720p, AAC] [5D4D1205].mkv'
Title: Chio-chan no Tsuugakuro
Episode: 1
Subber: HorribleSubs

$ python3 AnimeInfoExtractor.py '[VCB-Studio+Commie] Sword Art Online II [01].mkv'
Title: Sword Art Online II
Episode: 1
Subber: VCB-Studio+Commie

Is this still happening? If so, then the bug is not in the filename parsing but elsewhere.

purposelycryptic commented 5 years ago

Extremely sorry for the huge delay; I've managed to get free time to work on Trackma just lately.

I looked into your issue and the Info Extractor seems to parse your filenames just fine:

$ python3 AnimeInfoExtractor.py 'Chio-chan no Tsuugakuro - 01 [HorribleSubs] [www, 720p, AAC] [5D4D1205].mkv'
Title: Chio-chan no Tsuugakuro
Episode: 1
Subber: HorribleSubs

$ python3 AnimeInfoExtractor.py '[VCB-Studio+Commie] Sword Art Online II [01].mkv'
Title: Sword Art Online II
Episode: 1
Subber: VCB-Studio+Commie

Is this still happening? If so, then the bug is not in the filename parsing but elsewhere.

Sorry for the lack of response on my own end as well, still pretty sick (And doctor told me it may be a longer-term situation :-/).

Trackma seems to be parsing most of my series correctly these days, with the natural exception of those where AniList's series name differs from AniDB's (Which is expected behavior).

I have, over time, occasionally noticed what seems to be the exact opposite issue, where it seems like a false positive from the parser results in a still-airing series being shown as completely collected. Here is a current example, with One Punch Man 2 (titled One Punch Man (2019) on AniDB):

falsepos_fileID

The files for the series are as follows:

One Punch Man (2019) [HorribleSubs] [www, 720p]\One Punch Man (2019) - 01 [HorribleSubs] [www, 720p, AAC] [789B88D3].mkv
One Punch Man (2019) [HorribleSubs] [www, 720p]\One Punch Man (2019) - 02 [HorribleSubs] [www, 720p, AAC] [E8D3ED5A].mkv

And I'm guessing the false positives during the Library Scan are coming from these:

One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 01v3 [SallySubs] [BD, 1080p, FLAC] [08114596].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 02v3 [SallySubs] [BD, 1080p, FLAC] [EEC2D6E6].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 03v2 [SallySubs] [BD, 1080p, FLAC] [F49F8BC1].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 04v2 [SallySubs] [BD, 1080p, FLAC] [86E1FDF8].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 05v2 [SallySubs] [BD, 1080p, FLAC] [C5F364B1].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 06v2 [SallySubs] [BD, 1080p, FLAC] [D862BE3C].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 07v2 [SallySubs] [BD, 1080p, FLAC] [DA083B8B].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 08v2 [SallySubs] [BD, 1080p, FLAC] [51A6707C].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 09v2 [SallySubs] [BD, 1080p, FLAC] [884299B2].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 10v2 [SallySubs] [BD, 1080p, FLAC] [EE367B64].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 11v2 [SallySubs] [BD, 1080p, FLAC] [9BAE428A].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - 12v2 [SallySubs] [BD, 1080p, FLAC] [3B5327CC].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP1v3 [SallySubs] [BD, 1080p, FLAC] [36EB1847].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP2v2 [SallySubs] [BD, 1080p, FLAC] [F64EE503].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP3v2 [SallySubs] [BD, 1080p, FLAC] [0E00C4ED].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP4v2 [SallySubs] [BD, 1080p, FLAC] [F53CD881].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP5v2 [SallySubs] [BD, 1080p, FLAC] [0E27ECB4].mkv
One Punch Man [SallySubs] [BD, 1080p]\One Punch Man - SP6v2 [SallySubs] [BD, 1080p, FLAC] [3AC17BBD].mkv

It isn't causing any real practical issues, however, as, when played, the former are still correctly IDed as One Punch Man 2, and the latter as the original One Punch Man, so it is more of a curiosity than anything - I'm guessing the Plex Tracker IDs series/episodes differently.

EDIT:

I looked into the AnimeInfoExtractor.py file, and found the cause (at least in this particular case); as part of the series identification process, it strips any content in any type of brackets, not just the usual square ones, so any year in regular brackets (Which AniDB, or wherever they source their official titles from, loves to include in titles for sequels/OVAs) is stripped out of the string before identification is attempted. There's an apologetic comment about it in the code:

        # Unfortunately its very hard to know if there should be brackets in the title...
        # We really should strip brackets... so to anything with brackets in the title: sorry =(
        # Strip anything thats still in brackets, but backup the first case incase it IS the title...

So my files for One Punch Man and One Punch Man 2 should look identical to the parser (I say should, as I couldn't get AnimeInfoExtractor.py to generate any output like yours when run from the CLI). This does leave me confused how either of them were recognized as the latter, since, stripped, the title for both should be identical to the former, but maybe they are recognized as both? Anyway, since it doesn't extend to the actual Tracker, it isn't much of an issue. :-)

I know Taiga lets you set an Alternate Title for series that is then also used for file recognition - I know Trackma lets you set an Alternate Title as well, but I never did figure out what it is actually used for, aside from showing up in brackets next to the original one in the series lists...