1
0
mirror of https://github.com/moparisthebest/SickRage synced 2025-01-05 19:08:02 -05:00

Fix for NoneType name parsing issues from new test code.

Fix for h264/x264 matching as absolute number.
This commit is contained in:
echel0n 2014-06-22 12:25:54 -07:00
parent b1c9b71846
commit 0573a8add6
2 changed files with 29 additions and 27 deletions

View File

@ -107,7 +107,7 @@ class NameParser(object):
if not name: if not name:
return return
if not self.naming_pattern: if not self.showObj and not self.naming_pattern:
# Regex pattern to return the Show / Series Name regardless of the file pattern tossed at it, matched 53 show name examples from regexes.py # Regex pattern to return the Show / Series Name regardless of the file pattern tossed at it, matched 53 show name examples from regexes.py
show_pattern = '''^(?:(UEFA|MLB|ESPN|WWE|MMA|UFC|TNA|EPL|NASCAR|NBA|NFL|NHL|NRL|PGA|SUPER LEAGUE|FORMULA|FIFA|NETBALL|MOTOG(P)))?(?:[0-9]+)?(?:\[(?:.+?)\][ ._-])?(?P<series_name>.*?)(?:[ ._-])+?(?:Season|Part)?(?:.[eE][0-9][0-9]?)?(?:.?[sS]?[0-9][0-9]?)''' show_pattern = '''^(?:(UEFA|MLB|ESPN|WWE|MMA|UFC|TNA|EPL|NASCAR|NBA|NFL|NHL|NRL|PGA|SUPER LEAGUE|FORMULA|FIFA|NETBALL|MOTOG(P)))?(?:[0-9]+)?(?:\[(?:.+?)\][ ._-])?(?P<series_name>.*?)(?:[ ._-])+?(?:Season|Part)?(?:.[eE][0-9][0-9]?)?(?:.?[sS]?[0-9][0-9]?)'''
try: try:
@ -116,9 +116,11 @@ class NameParser(object):
logger.log(u"WARNING: Invalid show series name pattern, %s: [%s]" % (errormsg, show_pattern)) logger.log(u"WARNING: Invalid show series name pattern, %s: [%s]" % (errormsg, show_pattern))
else: else:
seriesname_match = show_regex.match(name) seriesname_match = show_regex.match(name)
seriesname_groups = seriesname_match.groupdict().keys() if not seriesname_match:
return
if not self.showObj and 'series_name' in seriesname_groups: seriesname_groups = seriesname_match.groupdict().keys()
if 'series_name' in seriesname_groups:
# Do we have recognize this show? # Do we have recognize this show?
series_name = self.clean_series_name(seriesname_match.group('series_name')) series_name = self.clean_series_name(seriesname_match.group('series_name'))
self.showObj = helpers.get_show_by_name(series_name, useIndexer=self.useIndexers) self.showObj = helpers.get_show_by_name(series_name, useIndexer=self.useIndexers)
@ -247,7 +249,7 @@ class NameParser(object):
result = result.convert() result = result.convert()
# get quality # get quality
result.quality = common.Quality.nameQuality(name, bool(result.show and result.show.is_anime)) result.quality = common.Quality.nameQuality(name, result.show.is_anime)
return result return result

View File

@ -222,8 +222,8 @@ anime_regexes = {'anime':[
""" """
^(?:\[(?P<release_group>.+?)\][ ._-]*) ^(?:\[(?P<release_group>.+?)\][ ._-]*)
(?P<series_name>.+?)[ ._-]+ (?P<series_name>.+?)[ ._-]+
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3})
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))?[ ._-]+? (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))?[ ._-]+?
(?:v(?P<version>[0-9]))? (?:v(?P<version>[0-9]))?
(?:[\w\.]*) (?:[\w\.]*)
(?:(?:(?:[\[\(])(?P<extra_info>\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)(?:[\]\)]))|(?:\d{3,4}[xp])) (?:(?:(?:[\[\(])(?P<extra_info>\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)(?:[\]\)]))|(?:\d{3,4}[xp]))
@ -241,8 +241,8 @@ anime_regexes = {'anime':[
''' '''
^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator ^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator
(?P<series_name>.+?)[ ._-]+ # Show_Name and separator (?P<series_name>.+?)[ ._-]+ # Show_Name and separator
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # E01 (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # E01
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # E02 (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # E02
(v(?P<version>[0-9]))? # version (v(?P<version>[0-9]))? # version
[ ._-]+\[(?P<extra_info>\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)\] # Source_Quality_Etc- [ ._-]+\[(?P<extra_info>\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)\] # Source_Quality_Etc-
(\[(?P<crc>\w{8})\])? # CRC (\[(?P<crc>\w{8})\])? # CRC
@ -256,8 +256,8 @@ anime_regexes = {'anime':[
''' '''
^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator ^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator
(?P<series_name>.+?)[ ._-]+ # Show_Name and separator (?P<series_name>.+?)[ ._-]+ # Show_Name and separator
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # E01 (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # E01
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # E02 (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # E02
(v(?P<version>[0-9]))? # version (v(?P<version>[0-9]))? # version
[ ._-]+\((?P<extra_info>(CX[ ._-]?)?\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)\) # Source_Quality_Etc- [ ._-]+\((?P<extra_info>(CX[ ._-]?)?\d{3,4}[xp]?\d{0,4}[\.\w\s-]*)\) # Source_Quality_Etc-
(\[(?P<crc>\w{8})\])? # CRC (\[(?P<crc>\w{8})\])? # CRC
@ -269,8 +269,8 @@ anime_regexes = {'anime':[
''' '''
^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator ^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator
(?P<series_name>.+?)[ ._-]+ # Show_Name and separator (?P<series_name>.+?)[ ._-]+ # Show_Name and separator
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # E01 (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # E01
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # E02 (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # E02
(v(?P<version>[0-9]))? # version (v(?P<version>[0-9]))? # version
[ ._-]+\[(?P<extra_info>\d{3,4}p) # Source_Quality_Etc- [ ._-]+\[(?P<extra_info>\d{3,4}p) # Source_Quality_Etc-
(\[(?P<crc>\w{8})\])? # CRC (\[(?P<crc>\w{8})\])? # CRC
@ -285,8 +285,8 @@ anime_regexes = {'anime':[
^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator ^(\[(?P<release_group>.+?)\][ ._-]*)? # Release Group and separator
(?P<series_name>.+?)[ ._]* # Show_Name and separator (?P<series_name>.+?)[ ._]* # Show_Name and separator
([ ._-]+-[ ._-]+[A-Z]+[ ._-]+)?[ ._-]+ # funny stuff, this is sooo nuts ! this will kick me in the butt one day ([ ._-]+-[ ._-]+[A-Z]+[ ._-]+)?[ ._-]+ # funny stuff, this is sooo nuts ! this will kick me in the butt one day
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # E01 (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # E01
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # E02 (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # E02
(v(?P<version>[0-9]))? # version (v(?P<version>[0-9]))? # version
([ ._-](\[\w{1,2}\])?\[[a-z][.]?\w{2,4}\])? #codec ([ ._-](\[\w{1,2}\])?\[[a-z][.]?\w{2,4}\])? #codec
[ ._-]*\[(?P<extra_info>(\d{3,4}[xp]?\d{0,4})?[\.\w\s-]*)\] # Source_Quality_Etc- [ ._-]*\[(?P<extra_info>(\d{3,4}[xp]?\d{0,4})?[\.\w\s-]*)\] # Source_Quality_Etc-
@ -298,7 +298,7 @@ anime_regexes = {'anime':[
''' '''
^(?:\[(?P<release_group>.*?)\][ ._-]*)? ^(?:\[(?P<release_group>.*?)\][ ._-]*)?
(?:(?P<series_name>.*?)[ ._-]*)? (?:(?P<series_name>.*?)[ ._-]*)?
(?:(?P<ep_ab_num>((?!(1080|720|480)[pi])\d{1,3}))[ ._-]*).+? (?:(?P<ep_ab_num>(((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))[ ._-]*).+?
(?:\[(?P<codec>.*?)\][ ._-]*) (?:\[(?P<codec>.*?)\][ ._-]*)
(?:\[(?P<crc>\w{8})\])? (?:\[(?P<crc>\w{8})\])?
.*? .*?
@ -315,8 +315,8 @@ anime_regexes = {'anime':[
(([. _-]*e|-) # linking e/- char (([. _-]*e|-) # linking e/- char
(?P<extra_ep_num>\d+))* # additional E03/etc (?P<extra_ep_num>\d+))* # additional E03/etc
([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way ([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way
((?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}))? # absolute number ((?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # absolute number
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # "-" as separator and anditional absolute number, all optinal (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # "-" as separator and anditional absolute number, all optinal
(v(?P<version>[0-9]))? # the version e.g. "v2" (v(?P<version>[0-9]))? # the version e.g. "v2"
.*? .*?
''' '''
@ -334,8 +334,8 @@ anime_regexes = {'anime':[
(([. _-]*e|-) # linking e/- char (([. _-]*e|-) # linking e/- char
(?P<extra_ep_num>\d+))* # additional E03/etc (?P<extra_ep_num>\d+))* # additional E03/etc
([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way ([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way
((?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}))? # absolute number ((?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # absolute number
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # "-" as separator and anditional absolute number, all optinal (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # "-" as separator and anditional absolute number, all optinal
(v(?P<version>[0-9]))? # the version e.g. "v2" (v(?P<version>[0-9]))? # the version e.g. "v2"
.*? .*?
''' '''
@ -346,8 +346,8 @@ anime_regexes = {'anime':[
# Bleach - 313-314 - s16e03-04 # Bleach - 313-314 - s16e03-04
''' '''
^(?P<series_name>.+?)[ ._-]+ # start of string and series name and non optinal separator ^(?P<series_name>.+?)[ ._-]+ # start of string and series name and non optinal separator
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # absolute number (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # absolute number
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # "-" as separator and anditional absolute number, all optinal (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # "-" as separator and anditional absolute number, all optinal
(v(?P<version>[0-9]))? # the version e.g. "v2" (v(?P<version>[0-9]))? # the version e.g. "v2"
([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way ([ ._-]{2,}|[ ._]+) # if "-" is used to separate at least something else has to be there(->{2,}) "s16e03-04-313-314" would make sens any way
[sS](?P<season_num>\d+)[. _-]* # S01 and optional separator [sS](?P<season_num>\d+)[. _-]* # S01 and optional separator
@ -361,8 +361,8 @@ anime_regexes = {'anime':[
('anime_and_normal_front', ('anime_and_normal_front',
# 165.Naruto Shippuuden.s08e014 # 165.Naruto Shippuuden.s08e014
''' '''
^(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # start of string and absolute number ^(?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # start of string and absolute number
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # "-" as separator and anditional absolute number, all optinal (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # "-" as separator and anditional absolute number, all optinal
(v(?P<version>[0-9]))?[ ._-]+ # the version e.g. "v2" (v(?P<version>[0-9]))?[ ._-]+ # the version e.g. "v2"
(?P<series_name>.+?)[ ._-]+ (?P<series_name>.+?)[ ._-]+
[sS](?P<season_num>\d+)[. _-]* # S01 and optional separator [sS](?P<season_num>\d+)[. _-]* # S01 and optional separator
@ -377,8 +377,8 @@ anime_regexes = {'anime':[
''' '''
^(?:\[(?P<release_group>.+?)\][ ._-]*) ^(?:\[(?P<release_group>.+?)\][ ._-]*)
(?P<series_name>.+?)[ ._-]+ (?P<series_name>.+?)[ ._-]+
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3})
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))?[ ._-]*? (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))?[ ._-]*?
(?:v(?P<version>[0-9])[ ._-]+?)? (?:v(?P<version>[0-9])[ ._-]+?)?
(?:.+?[ ._-]+?)? (?:.+?[ ._-]+?)?
\[(?P<extra_info>\w+)\][ ._-]? \[(?P<extra_info>\w+)\][ ._-]?
@ -393,8 +393,8 @@ anime_regexes = {'anime':[
''' '''
^(\[(?P<release_group>.+?)\][ ._-]*)? ^(\[(?P<release_group>.+?)\][ ._-]*)?
(?P<series_name>.+?)[ ._-]+ # Show_Name and separator (?P<series_name>.+?)[ ._-]+ # Show_Name and separator
(?P<ep_ab_num>(?!(1080|720|480)[pi])\d{1,3}) # E01 (?P<ep_ab_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}) # E01
(-(?P<extra_ab_ep_num>(?!(1080|720|480)[pi])\d{1,3}))? # E02 (-(?P<extra_ab_ep_num>((?!(1080|720|480)[pi])|(?![hx].?264))\d{1,3}))? # E02
(v(?P<version>[0-9]))? # v2 (v(?P<version>[0-9]))? # v2
.*? # Separator and EOL .*? # Separator and EOL
''') ''')