ZeroQI / Absolute-Series-Scanner

Seasons, absolute mode, Subfolders...
1.01k stars 155 forks source link

Scanner cannot recognize some episodes names #277

Closed IvanShift closed 4 years ago

IvanShift commented 4 years ago

Hello! Is it possible to add ability scan episodes with names like this: StrawberryAndWalrusS01E01.mp4 StrawberryAndWalrusS02E10.mp4 КитStupidShowS08E15.mp4 КитStupidShowS03E13.mp4

Unfortunately scanner cannot recognize those names (

2x2.filelist.log 2x2.scanner.log

ZeroQI commented 4 years ago

I wouldn't have agreed to modify the code unless a release group really chose that stupid naming convention, and they did...

You can test by replacing the regex for series lines 70-74 by:

SERIES_RX       = [                                                                                                                                                              ######### Series regex - "serie - xxx - title" ###
  cic(r'(^|(?P<show>.*?)[ _\.\-]+)(?P<season>\d{1,2})XE?(?P<ep>\d{1,3})(([_\-X]|[_\-]\d{1,2}X)(?P<ep2>\d{1,3}))?([ _\.\-]+(?P<title>.*))?$'),                                    #  0 # 1x01
  cic(r'(^|(?P<show>.*?)[ _\.\-]*)S([Ee])?(?P<season>\d{1,4})[ _\.\-]?EP?(?P<ep>\d{1,3})(([ _\.\-]|EP?|[ _\.\-]EP?)(?P<ep2>\d{1,3}))?[ _\.]*(?P<title>.*?)$'),                          #  1 # s01e01-02 | ep01-ep02 | e01-02 | s01-e01 | s01 e01'(^|(?P<show>.*?)[ _\.\-]+)(?P<ep>\d{1,3})[ _\.\-]?of[ _\.\-]?\d{1,3}([ _\.\-]+(?P<title>.*?))?$',                                                              #  2 # 01 of 08 (no stacking for this one ?)
  cic(r'^(?P<show>.*?)[ _\.]-[ _\.](EP?)?(?P<ep>\d{1,3})(-(?P<ep2>\d{1,3}))?(V\d)?[ _\.]*?(?P<title>.*)$'),                                                                      #  2 # Serie - xx - title.ext | ep01-ep02 | e01-02
  cic(r'^(?P<show>.*?)[ _\.]\[(?P<season>\d{1,2})\][ _\.]\[(?P<ep>\d{1,3})\][ _\.](?P<title>.*)$'),
]                                                                              #  3 # Serie [Sxx] [Exxx] title.ext

I simply authorised no spaces as separator If it doesn't work try:

SERIES_RX       = [                                                                                                                                                              ######### Series regex - "serie - xxx - title" ###
  cic(r'(^|(?P<show>.*?)[ _\.\-]+)(?P<season>\d{1,2})XE?(?P<ep>\d{1,3})(([_\-X]|[_\-]\d{1,2}X)(?P<ep2>\d{1,3}))?([ _\.\-]+(?P<title>.*))?$'),                                    #  0 # 1x01
  cic(r'(^|(?P<show>.*?)[ _\.\-]+)S([Ee])?(?P<season>\d{1,4})[ _\.\-]?EP?(?P<ep>\d{1,3})(([ _\.\-]|EP?|[ _\.\-]EP?)(?P<ep2>\d{1,3}))?[ _\.]*(?P<title>.*?)$'),                          #  1 # s01e01-02 | ep01-ep02 | e01-02 | s01-e01 | s01 e01'(^|(?P<show>.*?)[ _\.\-]+)(?P<ep>\d{1,3})[ _\.\-]?of[ _\.\-]?\d{1,3}([ _\.\-]+(?P<title>.*?))?$',                                                              #  2 # 01 of 08 (no stacking for this one ?)
  cic(r'^(?P<show>.*?)[ _\.]-[ _\.](EP?)?(?P<ep>\d{1,3})(-(?P<ep2>\d{1,3}))?(V\d)?[ _\.]*?(?P<title>.*)$'),                                                                      #  2 # Serie - xx - title.ext | ep01-ep02 | e01-02
  cic(r'^(?P<show>.*?)[ _\.]\[(?P<season>\d{1,2})\][ _\.]\[(?P<ep>\d{1,3})\][ _\.](?P<title>.*)$'),
  cic(r'(^|(?P<show>.*?)[ _\.\-]+)[Ss](?P<season>\d{1,4})[Ee](?P<ep>\d{1,3})-(?P<ep2>\d{1,3})?(?P<title>.*?)$')                           #  1 # s01e01-02 | ep01-ep02 | e01-02 | s01-e01 | s01 e01'(^|(?P<show>.*?)[ _\.\-]+)(?P<ep>\d{1,3})[ _\.\-]?of[ _\.\-]?\d{1,3}([ _\.\-]+(?P<title>.*?))?$',                                                              #  2 # 01 of 08 (no stacking for this one ?)
  ]

If any work, i will add it to the master.

ZeroQI commented 4 years ago

This naming convention is without separators, so no other scanner would support that, which is why i thought that would be good to add. Still think it is a stupid naming convention, but the release group is that fault. Please test and i will include in the master if it works

IvanShift commented 4 years ago

Thank you! First variant is working!

2x2.filelist.log 2x2.scanner.log

EndOfLine369 commented 4 years ago

@ZeroQI, please advise why ([Ee])? was added. Looking at the filenames above, the only issue was that there was no space/separator before the SxEx piece? That should have been handled when you changed + (1+ in [ _\.\-]+) to *(any amount in [ _\.\-]*). By adding that 'E', you allow for some reason a filename format of <show>SE01E01 allowing 'SE' for season.

ZeroQI commented 4 years ago

https://github.com/ZeroQI/Absolute-Series-Scanner/issues/272

"Se1E1" format addition https://github.com/ZeroQI/Absolute-Series-Scanner/commit/69e3932ec0ecb01ba4cae35fde5a06c293e16083

EndOfLine369 commented 4 years ago

Looks like you updated your comment after I updated. I reupdated. all we need is E?. The string is case insensitive so not need for '[Ee]' and is a single char so '()' is redundant. https://github.com/ZeroQI/Absolute-Series-Scanner/commit/045c74914be4fac0bb182c87a659f155a03e1b2d

FYI, https://github.com/ZeroQI/Hama.bundle/commit/bd3683330ae6a69548523d52591d4520f37f95ec