diff --git a/CHANGES.md b/CHANGES.md index 1be2ad8..94ba45a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,10 @@ -### 0.23.6 (2020-12-11 01:50:00 UTC) +### 0.23.7 (2020-12-13 20:40:00 UTC) + +* Fix remove need to page refresh after entering an anime scene absolute number on view-show +* Change add TVChaosUK custom name regulator to prevent a false trigger from the wordlist filter + + +### 0.23.6 (2020-12-11 01:50:00 UTC) * Update UnRar for Windows 5.91 to 6.00 x64 * Fix providers BitHDTV, Blutopia, HDTorrents, Pretome, PrivateHD, PTFiles, SceneHD, TVChaosUK diff --git a/sickbeard/providers/tvchaosuk.py b/sickbeard/providers/tvchaosuk.py index fa1d8c2..1c12dad 100644 --- a/sickbeard/providers/tvchaosuk.py +++ b/sickbeard/providers/tvchaosuk.py @@ -301,6 +301,10 @@ class TVChaosUKProvider(generic.TorrentProvider): return result + @staticmethod + def regulate_cache_torrent_file(title): + return re.sub(r'\b(\s*subs)\b([\W\w]{0,20})$', r'\2', title) + def after_get_data(self, result): if self.use_after_get_data: try: diff --git a/sickbeard/scene_numbering.py b/sickbeard/scene_numbering.py index 46c615f..e57b06c 100644 --- a/sickbeard/scene_numbering.py +++ b/sickbeard/scene_numbering.py @@ -1014,10 +1014,13 @@ def set_scene_numbering_helper(tvid, prodid, for_season=None, for_episode=None, logger.log(action_log, logger.DEBUG) set_scene_numbering(**scene_args) show_obj.flush_episodes() - if None is scene_season and None is scene_episode: - # when clearing the field, do not return existing values of sxe, otherwise this may be confusing - # with the case where manually setting sxe to the actual sxe is done to prevent a data overwrite. - # So now the only instance an actual sxe is in the field is if user enters it, else 0x0 is presented. + if not show_obj.is_anime: + if (None is scene_season and None is scene_episode) or (0 == scene_season and 0 == scene_episode): + # when clearing the field, do not return existing values of sxe, otherwise this may be confusing + # with the case where manually setting sxe to the actual sxe is done to prevent a data overwrite. + # So now the only instance an actual sxe is in the field is if user enters it, else 0x0 is presented. + return result + elif None is scene_absolute or 0 == scene_absolute: return result else: result['errorMessage'] = "Episode couldn't be retrieved, invalid parameters" diff --git a/sickbeard/search.py b/sickbeard/search.py index db57120..d1c3bea 100644 --- a/sickbeard/search.py +++ b/sickbeard/search.py @@ -230,7 +230,8 @@ def pick_best_result( :param filter_rls: optional thread name :return: best search result """ - logger.log(u'Picking the best result out of %s' % [x.name for x in results], logger.DEBUG) + msg = (u'Picking the best result out of %s', u'Checking the best result %s')[1 == len(results)] + logger.log(msg % [x.name for x in results], logger.DEBUG) # find the best result for the current episode best_result = None @@ -313,7 +314,8 @@ def pick_best_result( best_result = best_fallback_result if best_result: - logger.log(u'Picked as the best %s[%s]' % (addendum, best_result.name), logger.DEBUG) + msg = (u'Picked as the best %s[%s]', u'Confirmed as the best %s[%s]')[1 == len(results)] + logger.log(msg % (addendum, best_result.name), logger.DEBUG) else: logger.log(u'No result picked.', logger.DEBUG) @@ -801,6 +803,9 @@ def cache_torrent_file( # verify the name in torrent also passes filtration result_name = search_result.name search_result.name = torrent_name + if search_result.provider.get_id() in ['tvchaosuk'] \ + and hasattr(search_result.provider, 'regulate_cache_torrent_file'): + torrent_name = search_result.provider.regulate_cache_torrent_file(torrent_name) if not pick_best_result([search_result], show_obj, **kwargs) or \ not show_name_helpers.pass_wordlist_checks(torrent_name, indexer_lookup=False, show_obj=show_obj): logger.log(u'Ignored %s that contains %s (debug log has detail)' % (result_name, torrent_name))