Private GIT

Skip to content
Snippets Groups Projects
Commit dd1c79d7 authored by Nic Wolfe's avatar Nic Wolfe
Browse files

Fix a number of bugs in the name parser

parent 3c16b5c3
No related branches found
No related tags found
No related merge requests found
......@@ -85,7 +85,10 @@ class NameParser(object):
result.series_name = self.clean_series_name(result.series_name)
if 'season_num' in named_groups:
result.season_number = int(match.group('season_num'))
tmp_season = int(match.group('season_num'))
if cur_regex_name == 'bare' and tmp_season in (19,20):
continue
result.season_number = tmp_season
if 'ep_num' in named_groups:
ep_num = self._convert_number(match.group('ep_num'))
......
......@@ -140,10 +140,11 @@ ep_regexes = [
'''
^((?P<series_name>.+?)[. _-]+)? # Show_Name and separator
(e(p(isode)?)?|part|pt)[. _-]? # e, ep, episode, or part
(?P<ep_num>(\d+|[ivx]+)) # first ep num
(?P<ep_num>(\d+|([ivx]+(?=[. _-])))) # first ep num
([. _-]+((and|&|to)[. _-]+)? # and/&/to joiner
((e(p(isode)?)?|part|pt)[. _-]?) # e, ep, episode, or part
(?P<extra_ep_num>(?!(1080|720)[pi])(\d+|[ivx]+))[. _-])* # second ep num
(?P<extra_ep_num>(?!(1080|720)[pi])
(\d+|([ivx]+(?=[. _-]))))[. _-])* # second ep num
([. _-]*(?P<extra_info>.+?) # Source_Quality_Etc-
((?<![. _-])-(?P<release_group>[^-]+))?)?$ # Group
'''
......@@ -165,7 +166,7 @@ ep_regexes = [
'''
^((?P<series_name>.+?)[. _-]+)? # Show_Name and separator
(?P<ep_num>\d{2}) # 02
[. _-]*((?P<extra_info>.+?) # Source_Quality_Etc-
[. _-]+((?P<extra_info>.+?) # Source_Quality_Etc-
((?<![. _-])-(?P<release_group>[^-]+))?)?$ # Group
'''
),
......
......@@ -54,6 +54,8 @@ simple_test_cases = {
'show.name.2010.123.source.quality.etc-group': parser.ParseResult(None, 'show name 2010', 1, [23], 'source.quality.etc', 'group'),
'show.name.2010.222.123.source.quality.etc-group': parser.ParseResult(None, 'show name 2010.222', 1, [23], 'source.quality.etc', 'group'),
'Show.Name.102': parser.ParseResult(None, 'Show Name', 1, [2]),
'the.event.401.hdtv-lol': parser.ParseResult(None, 'the event', 4, [1], 'hdtv', 'lol'),
'show.name.2010.special.hdtv-blah': None,
},
'stupid': {
......@@ -183,8 +185,14 @@ class BasicTests(unittest.TestCase):
cur_test = cur_test_base
if VERBOSE or verbose:
print 'Testing', cur_test
test_result = np.parse(cur_test)
result = simple_test_cases[section][cur_test_base]
if not result:
self.assertRaises(parser.InvalidNameException, np.parse, cur_test)
return
else:
test_result = np.parse(cur_test)
if DEBUG or verbose:
print 'air_by_date:', test_result.air_by_date, 'air_date:', test_result.air_date
print test_result
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment