hacking time:
The good:
Code: Select all
>>> guessit.guessit("[SubsPlease] Blablabla S2E10 (1080p) [something]")
MatchesDict([('title', 'Blablabla'), ('season', 2), ('episode', 10), ('screen_size', '1080p'), ('release_group', 'something'), ('type', 'episode')])
>>> guessit.guessit("[SubsPlease] Blablabla S2-E10 (1080p) [something]")
MatchesDict([('title', 'Blablabla'), ('season', 2), ('episode', 10), ('screen_size', '1080p'), ('release_group', 'something'), ('type', 'episode')])
>>> guessit.guessit("[SubsPlease] Blablabla S2 E10 (1080p) [something]")
MatchesDict([('title', 'Blablabla'), ('season', 2), ('episode', 10), ('screen_size', '1080p'), ('release_group', 'something'), ('type', 'episode')])
So: ('episode', 10) in all cases. Good.
The bad:
Code: Select all
>>> guessit.guessit("[SubsPlease] Blablabla S2 - 10 (1080p) [something]")
MatchesDict([('title', 'Blablabla'), ('season', 2), ('episode_title', '10'), ('screen_size', '1080p'), ('release_group', 'something'), ('type', 'episode')])
>>> guessit.guessit("[SubsPlease] Blablabla S2_-_10 (1080p) [something]")
MatchesDict([('title', 'Blablabla'), ('season', 2), ('episode_title', '10'), ('screen_size', '1080p'), ('release_group', 'something'), ('type', 'episode')])
No episode, but ('episode_title', '10'). The rest is the same.
If guessit developers do not solve it, we might consider this:
if SABnzbd sees season a number, and no episode from guessit, and episode_title is a number ... use the episode_title as episode. As in switch values of episode and episode_title.
I checked my sabnzbd.log, and
1) there was a episode_title for the Kakkou downloads, and always the number
2) there was never a episode_title for other downloads.
So seems safe to do this.
So somewhere in
https://github.com/sabnzbd/sabnzbd/blob ... #L656-L686 ... ah, I see SAB already does some fixing for other guessit results?