Browse Source

Fix parse correct anime during recent and backlog search.

tags/release_0.24.7^2
JackDandy 4 years ago
parent
commit
e3d21d8581
  1. 7
      CHANGES.md
  2. 11
      sickbeard/providers/generic.py
  3. 12
      sickbeard/tvcache.py

7
CHANGES.md

@ -1,4 +1,9 @@
### 0.24.6 (2021-06-28 23:59:00 UTC)
### 0.24.7 (2021-06-30 22:10:00 UTC)
* Fix parse correct animes during recent and backlog search
### 0.24.6 (2021-06-28 23:59:00 UTC)
* Change allow Python 3.7.11, 3.8.11, and 3.9.6

11
sickbeard/providers/generic.py

@ -1131,7 +1131,8 @@ class GenericProvider(object):
parser = NameParser(False, show_obj=self.get_show(item, **kwargs), convert=True, indexer_lookup=False)
# parse the file name
try:
parse_result = parser.parse(title, release_group=self.get_id())
cache_result = not (show_obj and show_obj.is_anime)
parse_result = parser.parse(title, cache_result=cache_result, release_group=self.get_id())
except InvalidNameException:
logger.log(u'Unable to parse the filename %s into a valid episode' % title, logger.DEBUG)
continue
@ -1139,6 +1140,14 @@ class GenericProvider(object):
logger.log(u'No match for search criteria in the parsed filename ' + title, logger.DEBUG)
continue
if parse_result.show_obj.is_anime:
t_show_obj = helpers.get_show(parse_result.show_obj.name, True)
post_parser = NameParser(False, show_obj=t_show_obj, convert=True, indexer_lookup=False)
try:
parse_result = post_parser.parse(title, release_group=self.get_id())
except(BaseException, Exception):
continue
if not (parse_result.show_obj.tvid == show_obj.tvid and parse_result.show_obj.prodid == show_obj.prodid):
logger.log(u'Parsed show [%s] is not show [%s] we are searching for' %
(parse_result.show_obj.name, show_obj.name), logger.DEBUG)

12
sickbeard/tvcache.py

@ -292,8 +292,8 @@ class TVCache(object):
return
try:
np = NameParser(show_obj=show_obj, convert=True, indexer_lookup=False)
parse_result = np.parse(name)
parser = NameParser(show_obj=show_obj, convert=True, indexer_lookup=False)
parse_result = parser.parse(name)
except InvalidNameException:
logger.log('Unable to parse the filename %s into a valid episode' % name, logger.DEBUG)
return
@ -303,6 +303,14 @@ class TVCache(object):
if not parse_result or not parse_result.series_name:
return
if None is show_obj and parse_result.show_obj.is_anime:
t_show_obj = helpers.get_show(parse_result.show_obj.name, True)
post_parser = NameParser(False, show_obj=t_show_obj, convert=True, indexer_lookup=False)
try:
parse_result = post_parser.parse(name, release_group=self.get_id())
except(BaseException, Exception):
return
# if we made it this far then lets add the parsed result to cache for usage later on
season_number = parse_result.season_number if parse_result.season_number else 1
episode_numbers = parse_result.episode_numbers

Loading…
Cancel
Save