pymedusa / Medusa

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.
https://pymedusa.com
GNU General Public License v3.0
1.77k stars 276 forks source link

Guessit error due to medusa's additional rules has returned #9820

Closed 007revad closed 2 years ago

007revad commented 3 years ago

Describe the bug "Titans (2018)" causes the same guessit error every time a new episode is downloaded by pymedusa.

This is almost the same bug as described in Feb here: https://github.com/pymedusa/Medusa/issues/9183 Which was fixed with #9184 But a few months ago an update to Medusa reintroduced the bug.

Thankfully this time Medusa keeps working and does download subtitles for the show. But the errors in the log get annoying.

See [(https://github.com/guessit-io/guessit/issues/673)] for comments from guessit (staff?) who commented that "Medusa has some additional rules and most likely this bug should be reported in their repo".

To Reproduce Steps to reproduce the behavior:

  1. Add a current show with a date in it's title. e.g. "Titans (2018)"
  2. Enable subtitles for "Titans (2018)"
  3. Wait for next episode to be downloaded.
  4. See error in log.

Expected behavior Not to cause errors in the log :o)

Medusa (please complete the following information):

Debug logs (at least 50 lines): General > Advanced Settings > Enable debug

``` 2021-08-20 10:30:28 ERROR SHOWQUEUE-REFRESH :: [fbd43ad] 341663: Error while refreshing show Titans (2018). Error: An internal error has occured in guessit. ===================== Guessit Exception Report ===================== version=3.3.1 string=/volume1/nimbustor/video/TV-Series/Titans (2018)/Season 1/Titans (2018) - S01E03 - Origins (720p web-dl x265) [Titans.2018.S01E03.Origins.720p.DCU.S01E01.720p.WEB-DL.x265-HETeam].mkv options={'expected_title': ['OSS 117', 'This is Us', 'The 100', 'Archer (2009)', 'Big Sky (2020)', 'Big Sky 2020', 'Bloodlands (2021)', 'Doctor Who 2005', 'Doctor Who (2005)', 'Fantasy Island (2021)', '5th Gear', 'The Flash (2014)', 'Formula 1: Drive to Survive', 'The Grand Tour (2016)', 'Guilt (2019)', 'Hawkeye (2021)', 'In the Dark (2019)', 'Invincible (2021)', 'Kung Fu (2021)', 'She-Hulk', 'Snowfall (2017)', 'The Stand (2020)', 'The Stand 2020', 'Street Outlaws-Memphis', 'Titans (2018)', 'Utopia (2020)', 'Wanted (2016)', 'Warrior 2019', 'The Watch 2021', 'The Watch (2021)', 'The Watch 2020', 'Yellowstone (2018)'], 'allowed_countries': ['au', 'gb', 'us'], 'allowed_languages': ['ca', 'cs', 'de', 'en', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'ko', 'mul', 'nl', 'no', 'pl', 'pt', 'ro', 'ru', 'sv', 'te', 'uk', 'und', 'jp'], 'advanced_config': {'common_words': ['ca', 'cat', 'de', 'he', 'it', 'no', 'por', 'rum', 'se', 'st', 'sub'], 'groups': {'starting': '([{', 'ending': ')]}'}, 'audio_codec': {'audio_channels': {'1.0': ['1ch', 'mono'], '2.0': ['2ch', 'stereo', 're:(2[\\W_]0(?:ch)?)(?=[^\\d]|$)'], '5.1': ['5ch', '6ch', 're:(5[\\W_][01](?:ch)?)(?=[^\\d]|$)', 're:(6[\\W_]0(?:ch)?)(?=[^\\d]|$)'], '7.1': ['7ch', '8ch', 're:(7[\\W_][01](?:ch)?)(?=[^\\d]|$)']}}, 'container': {'subtitles': ['srt', 'idx', 'sub', 'ssa', 'ass'], 'info': ['nfo'], 'videos': ['3g2', '3gp', '3gp2', 'asf', 'avi', 'divx', 'flv', 'iso', 'm4v', 'mk2', 'mk3d', 'mka', 'mkv', 'mov', 'mp4', 'mp4a', 'mpeg', 'mpg', 'ogg', 'ogm', 'ogv', 'qt', 'ra', 'ram', 'rm', 'ts', 'vob', 'wav', 'webm', 'wma', 'wmv'], 'torrent': ['torrent'], 'nzb': ['nzb']}, 'country': {'synonyms': {'ES': ['españa'], 'GB': ['UK'], 'BR': ['brazilian', 'bra'], 'CA': ['québec', 'quebec', 'qc'], 'MX': ['Latinoamérica', 'latin america']}}, 'episodes': {'season_max_range': 100, 'episode_max_range': 100, 'max_range_gap': 1, 'season_markers': ['s'], 'season_ep_markers': ['x'], 'disc_markers': ['d'], 'episode_markers': ['xe', 'ex', 'ep', 'e', 'x'], 'range_separators': ['-', '~', 'to', 'a'], 'discrete_separators': ['+', '&', 'and', 'et'], 'season_words': ['season', 'saison', 'seizoen', 'seasons', 'saisons', 'tem', 'temp', 'temporada', 'temporadas', 'stagione'], 'episode_words': ['episode', 'episodes', 'eps', 'ep', 'episodio', 'episodios', 'capitulo', 'capitulos'], 'of_words': ['of', 'sur'], 'all_words': ['All']}, 'language': {'synonyms': {'ell': ['gr', 'greek'], 'spa': ['esp', 'español', 'espanol'], 'fra': ['français', 'vf', 'vff', 'vfi', 'vfq'], 'swe': ['se'], 'por_BR': ['po', 'pb', 'pob', 'ptbr', 'br', 'brazilian'], 'deu_CH': ['swissgerman', 'swiss german'], 'nld_BE': ['flemish'], 'cat': ['català', 'castellano', 'espanol castellano', 'español castellano'], 'ces': ['cz'], 'ukr': ['ua'], 'zho': ['cn'], 'jpn': ['jp'], 'hrv': ['scr'], 'mul': ['multi', 'dl']}, 'subtitle_affixes': ['sub', 'subs', 'esub', 'esubs', 'subbed', 'custom subbed', 'custom subs', 'custom sub', 'customsubbed', 'customsubs', 'customsub', 'soft subtitles', 'soft subs'], 'subtitle_prefixes': ['st', 'vost', 'subforced', 'fansub', 'hardsub', 'legenda', 'legendas', 'legendado', 'subtitulado', 'soft', 'subtitles'], 'subtitle_suffixes': ['subforced', 'fansub', 'hardsub'], 'language_affixes': ['dublado', 'dubbed', 'dub'], 'language_prefixes': ['true'], 'language_suffixes': ['audio'], 'weak_affixes': ['v', 'audio', 'true']}, 'part': {'prefixes': ['pt', 'part']}, 'release_group': {'forbidden_names': ['bonus', 'by', 'for', 'par', 'pour', 'rip'], 'ignored_seps': '[]{}()'}, 'screen_size': {'frame_rates': ['23.976', '24', '25', '29.970', '30', '48', '50', '60', '120'], 'min_ar': 1.333, 'max_ar': 1.8979999999999999, 'interlaced': ['360', '480', '576', '900', '1080'], 'progressive': ['360', '480', '540', '576', '900', '1080', '368', '720', '1440', '2160', '4320']}, 'website': {'safe_tlds': ['com', 'net', 'org'], 'safe_subdomains': ['www'], 'safe_prefixes': ['co', 'com', 'net', 'org'], 'prefixes': ['from']}, 'streaming_service': {'A&E': ['AE', 'A&E'], 'ABC': 'AMBC', 'ABC Australia': 'AUBC', 'Al Jazeera English': 'AJAZ', 'AMC': 'AMC', 'Amazon Prime': ['AMZN', 'Amazon', 're:Amazon-?Prime'], 'Adult Swim': ['AS', 're:Adult-?Swim'], "America's Test Kitchen": 'ATK', 'Animal Planet': 'ANPL', 'AnimeLab': 'ANLB', 'AOL': 'AOL', 'AppleTV': ['ATVP', 'ATV+'], 'ARD': 'ARD', 'BBC iPlayer': ['iP', 're:BBC-?iPlayer'], 'BravoTV': 'BRAV', 'Canal+': 'CNLP', 'Cartoon Network': 'CN', 'CBC': 'CBC', 'CBS': 'CBS', 'CNBC': 'CNBC', 'Comedy Central': ['CC', 're:Comedy-?Central'], 'Channel 4': '4OD', 'CHRGD': 'CHGD', 'Cinemax': 'CMAX', 'Country Music Television': 'CMT', 'Comedians in Cars Getting Coffee': 'CCGC', 'Crunchy Roll': ['CR', 're:Crunchy-?Roll'], 'Crackle': 'CRKL', 'CSpan': 'CSPN', 'CTV': 'CTV', 'CuriosityStream': 'CUR', 'CWSeed': 'CWS', 'Daisuki': 'DSKI', 'DC Universe': 'DCU', 'Deadhouse Films': 'DHF', 'DramaFever': ['DF', 'DramaFever'], 'Digiturk Diledigin Yerde': 'DDY', 'Discovery': ['DISC', 'Discovery'], 'Disney': ['DSNY', 'Disney'], 'DIY Network': 'DIY', 'Doc Club': 'DOCC', 'DPlay': 'DPLY', 'E!': 'ETV', 'ePix': 'EPIX', 'El Trece': 'ETTV', 'ESPN': 'ESPN', 'Esquire': 'ESQ', 'Family': 'FAM', 'Family Jr': 'FJR', 'Food Network': 'FOOD', 'Fox': 'FOX', 'Freeform': 'FREE', 'FYI Network': 'FYI', 'Global': 'GLBL', 'GloboSat Play': 'GLOB', 'Hallmark': 'HLMK', 'HBO Go': ['HBO', 're:HBO-?Go'], 'HBO Max': 'HMAX', 'HGTV': 'HGTV', 'History': ['HIST', 'History'], 'Hulu': 'HULU', 'Investigation Discovery': 'ID', 'IFC': 'IFC', 'iTunes': ['iTunes', {'pattern': 'iT', 'ignore_case': False}], 'ITV': 'ITV', 'Knowledge Network': 'KNOW', 'Lifetime': 'LIFE', 'Motor Trend OnDemand': 'MTOD', 'MBC': ['MBC', 'MBCVOD'], 'MSNBC': 'MNBC', 'MTV': 'MTV', 'National Geographic': ['NATG', 're:National-?Geographic'], 'NBA TV': ['NBA', 're:NBA-?TV'], 'NBC': 'NBC', 'Netflix': ['NF', 'Netflix'], 'NFL': 'NFL', 'NFL Now': 'NFLN', 'NHL GameCenter': 'GC', 'Nickelodeon': ['NICK', 'Nickelodeon'], 'Norsk Rikskringkasting': 'NRK', 'OnDemandKorea': ['ODK', 'OnDemandKorea'], 'PBS': 'PBS', 'PBS Kids': 'PBSK', 'Playstation Network': 'PSN', 'Pluzz': 'PLUZ', 'RTE One': 'RTE', 'SBS (AU)': 'SBS', 'SeeSo': ['SESO', 'SeeSo'], 'Shomi': 'SHMI', 'Showtime': 'SHO', 'Spike': 'SPIK', 'Spike TV': ['SPKE', 're:Spike-?TV'], 'Sportsnet': 'SNET', 'Sprout': 'SPRT', 'Stan': 'STAN', 'Starz': 'STZ', 'Sveriges Television': 'SVT', 'SwearNet': 'SWER', 'Syfy': 'SYFY', 'TBS': 'TBS', 'TFou': 'TFOU', 'The CW': ['CW', 're:The-?CW'], 'TLC': 'TLC', 'TubiTV': 'TUBI', 'TV3 Ireland': 'TV3', 'TV4 Sweeden': 'TV4', 'TVING': 'TVING', 'TV Land': ['TVL', 're:TV-?Land'], 'UFC': 'UFC', 'UKTV': 'UKTV', 'Univision': 'UNIV', 'USA Network': 'USAN', 'Velocity': 'VLCT', 'VH1': 'VH1', 'Viceland': 'VICE', 'Viki': 'VIKI', 'Vimeo': 'VMEO', 'VRV': 'VRV', 'W Network': 'WNET', 'WatchMe': 'WME', 'WWE Network': 'WWEN', 'Xbox Video': 'XBOX', 'Yahoo': 'YHOO', 'YouTube Red': 'RED', 'ZDF': 'ZDF'}}, 'show_type': 'normal', 'type': 'episode', 'implicit': True, 'episode_prefer_number': False, 'expected_group': ['TV2LAX9', 'DHD', '20-40', 'E7']} -------------------------------------------------------------------- Traceback (most recent call last): File "/volume1/@appstore/medusa/var/Medusa/ext/guessit/api.py", line 192, in guessit matches = self.rebulk.matches(string, options) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 115, in matches self._execute_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 146, in _execute_rules rules.execute_all_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 312, in execute_all_rules when_response = execute_rule(rule, matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 337, in execute_rule rule.then(matches, when_response, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 118, in then cons.then(matches, next(iterator), context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 136, in then matches.remove(match) File "/var/packages/python3/target/lib/python3.7/_collections_abc.py", line 1004, in remove del self[self.index(value)] File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 561, in __delitem__ self._remove_match(match) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 136, in _remove_match _BaseMatches._base_remove(self._tag_dict[tag], match) ValueError: list.remove(x): x not in list -------------------------------------------------------------------- Please report at https://github.com/guessit-io/guessit/issues. ==================================================================== Traceback (most recent call last): File "/volume1/@appstore/medusa/var/Medusa/ext/guessit/api.py", line 192, in guessit matches = self.rebulk.matches(string, options) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 115, in matches self._execute_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 146, in _execute_rules rules.execute_all_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 312, in execute_all_rules when_response = execute_rule(rule, matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 337, in execute_rule rule.then(matches, when_response, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 118, in then cons.then(matches, next(iterator), context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 136, in then matches.remove(match) File "/var/packages/python3/target/lib/python3.7/_collections_abc.py", line 1004, in remove del self[self.index(value)] File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 561, in __delitem__ self._remove_match(match) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 136, in _remove_match _BaseMatches._base_remove(self._tag_dict[tag], match) ValueError: list.remove(x): x not in list The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/volume1/@appstore/medusa/var/Medusa/medusa/queues/show_queue.py", line 513, in run self.show.refresh_dir() File "/volume1/@appstore/medusa/var/Medusa/medusa/tv/series.py", line 2018, in refresh_dir self.load_episodes_from_dir() File "/volume1/@appstore/medusa/var/Medusa/medusa/tv/series.py", line 1098, in load_episodes_from_dir cur_episode = self.make_ep_from_file(os.path.join(self.location, media_file)) File "/volume1/@appstore/medusa/var/Medusa/medusa/tv/series.py", line 1401, in make_ep_from_file 'normal', 'anime')[self.is_anime]).parse(filepath) File "/volume1/@appstore/medusa/var/Medusa/medusa/name_parser/parser.py", line 404, in parse result = self._parse_string(name) File "/volume1/@appstore/medusa/var/Medusa/medusa/name_parser/parser.py", line 304, in _parse_string guess = guessit.guessit(name, dict(show_type=self.show_type)) File "/volume1/@appstore/medusa/var/Medusa/medusa/name_parser/guessit_parser.py", line 86, in guessit result = default_api.guessit(name, options=final_options) File "/volume1/@appstore/medusa/var/Medusa/ext/guessit/api.py", line 208, in guessit raise GuessitException(string, options) from err guessit.api.GuessitException: An internal error has occured in guessit. ===================== Guessit Exception Report ===================== version=3.3.1 string=/volume1/nimbustor/video/TV-Series/Titans (2018)/Season 1/Titans (2018) - S01E03 - Origins (720p web-dl x265) [Titans.2018.S01E03.Origins.720p.DCU.S01E01.720p.WEB-DL.x265-HETeam].mkv options={'expected_title': ['OSS 117', 'This is Us', 'The 100', 'Archer (2009)', 'Big Sky (2020)', 'Big Sky 2020', 'Bloodlands (2021)', 'Doctor Who 2005', 'Doctor Who (2005)', 'Fantasy Island (2021)', '5th Gear', 'The Flash (2014)', 'Formula 1: Drive to Survive', 'The Grand Tour (2016)', 'Guilt (2019)', 'Hawkeye (2021)', 'In the Dark (2019)', 'Invincible (2021)', 'Kung Fu (2021)', 'She-Hulk', 'Snowfall (2017)', 'The Stand (2020)', 'The Stand 2020', 'Street Outlaws-Memphis', 'Titans (2018)', 'Utopia (2020)', 'Wanted (2016)', 'Warrior 2019', 'The Watch 2021', 'The Watch (2021)', 'The Watch 2020', 'Yellowstone (2018)'], 'allowed_countries': ['au', 'gb', 'us'], 'allowed_languages': ['ca', 'cs', 'de', 'en', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'ko', 'mul', 'nl', 'no', 'pl', 'pt', 'ro', 'ru', 'sv', 'te', 'uk', 'und', 'jp'], 'advanced_config': {'common_words': ['ca', 'cat', 'de', 'he', 'it', 'no', 'por', 'rum', 'se', 'st', 'sub'], 'groups': {'starting': '([{', 'ending': ')]}'}, 'audio_codec': {'audio_channels': {'1.0': ['1ch', 'mono'], '2.0': ['2ch', 'stereo', 're:(2[\\W_]0(?:ch)?)(?=[^\\d]|$)'], '5.1': ['5ch', '6ch', 're:(5[\\W_][01](?:ch)?)(?=[^\\d]|$)', 're:(6[\\W_]0(?:ch)?)(?=[^\\d]|$)'], '7.1': ['7ch', '8ch', 're:(7[\\W_][01](?:ch)?)(?=[^\\d]|$)']}}, 'container': {'subtitles': ['srt', 'idx', 'sub', 'ssa', 'ass'], 'info': ['nfo'], 'videos': ['3g2', '3gp', '3gp2', 'asf', 'avi', 'divx', 'flv', 'iso', 'm4v', 'mk2', 'mk3d', 'mka', 'mkv', 'mov', 'mp4', 'mp4a', 'mpeg', 'mpg', 'ogg', 'ogm', 'ogv', 'qt', 'ra', 'ram', 'rm', 'ts', 'vob', 'wav', 'webm', 'wma', 'wmv'], 'torrent': ['torrent'], 'nzb': ['nzb']}, 'country': {'synonyms': {'ES': ['españa'], 'GB': ['UK'], 'BR': ['brazilian', 'bra'], 'CA': ['québec', 'quebec', 'qc'], 'MX': ['Latinoamérica', 'latin america']}}, 'episodes': {'season_max_range': 100, 'episode_max_range': 100, 'max_range_gap': 1, 'season_markers': ['s'], 'season_ep_markers': ['x'], 'disc_markers': ['d'], 'episode_markers': ['xe', 'ex', 'ep', 'e', 'x'], 'range_separators': ['-', '~', 'to', 'a'], 'discrete_separators': ['+', '&', 'and', 'et'], 'season_words': ['season', 'saison', 'seizoen', 'seasons', 'saisons', 'tem', 'temp', 'temporada', 'temporadas', 'stagione'], 'episode_words': ['episode', 'episodes', 'eps', 'ep', 'episodio', 'episodios', 'capitulo', 'capitulos'], 'of_words': ['of', 'sur'], 'all_words': ['All']}, 'language': {'synonyms': {'ell': ['gr', 'greek'], 'spa': ['esp', 'español', 'espanol'], 'fra': ['français', 'vf', 'vff', 'vfi', 'vfq'], 'swe': ['se'], 'por_BR': ['po', 'pb', 'pob', 'ptbr', 'br', 'brazilian'], 'deu_CH': ['swissgerman', 'swiss german'], 'nld_BE': ['flemish'], 'cat': ['català', 'castellano', 'espanol castellano', 'español castellano'], 'ces': ['cz'], 'ukr': ['ua'], 'zho': ['cn'], 'jpn': ['jp'], 'hrv': ['scr'], 'mul': ['multi', 'dl']}, 'subtitle_affixes': ['sub', 'subs', 'esub', 'esubs', 'subbed', 'custom subbed', 'custom subs', 'custom sub', 'customsubbed', 'customsubs', 'customsub', 'soft subtitles', 'soft subs'], 'subtitle_prefixes': ['st', 'vost', 'subforced', 'fansub', 'hardsub', 'legenda', 'legendas', 'legendado', 'subtitulado', 'soft', 'subtitles'], 'subtitle_suffixes': ['subforced', 'fansub', 'hardsub'], 'language_affixes': ['dublado', 'dubbed', 'dub'], 'language_prefixes': ['true'], 'language_suffixes': ['audio'], 'weak_affixes': ['v', 'audio', 'true']}, 'part': {'prefixes': ['pt', 'part']}, 'release_group': {'forbidden_names': ['bonus', 'by', 'for', 'par', 'pour', 'rip'], 'ignored_seps': '[]{}()'}, 'screen_size': {'frame_rates': ['23.976', '24', '25', '29.970', '30', '48', '50', '60', '120'], 'min_ar': 1.333, 'max_ar': 1.8979999999999999, 'interlaced': ['360', '480', '576', '900', '1080'], 'progressive': ['360', '480', '540', '576', '900', '1080', '368', '720', '1440', '2160', '4320']}, 'website': {'safe_tlds': ['com', 'net', 'org'], 'safe_subdomains': ['www'], 'safe_prefixes': ['co', 'com', 'net', 'org'], 'prefixes': ['from']}, 'streaming_service': {'A&E': ['AE', 'A&E'], 'ABC': 'AMBC', 'ABC Australia': 'AUBC', 'Al Jazeera English': 'AJAZ', 'AMC': 'AMC', 'Amazon Prime': ['AMZN', 'Amazon', 're:Amazon-?Prime'], 'Adult Swim': ['AS', 're:Adult-?Swim'], "America's Test Kitchen": 'ATK', 'Animal Planet': 'ANPL', 'AnimeLab': 'ANLB', 'AOL': 'AOL', 'AppleTV': ['ATVP', 'ATV+'], 'ARD': 'ARD', 'BBC iPlayer': ['iP', 're:BBC-?iPlayer'], 'BravoTV': 'BRAV', 'Canal+': 'CNLP', 'Cartoon Network': 'CN', 'CBC': 'CBC', 'CBS': 'CBS', 'CNBC': 'CNBC', 'Comedy Central': ['CC', 're:Comedy-?Central'], 'Channel 4': '4OD', 'CHRGD': 'CHGD', 'Cinemax': 'CMAX', 'Country Music Television': 'CMT', 'Comedians in Cars Getting Coffee': 'CCGC', 'Crunchy Roll': ['CR', 're:Crunchy-?Roll'], 'Crackle': 'CRKL', 'CSpan': 'CSPN', 'CTV': 'CTV', 'CuriosityStream': 'CUR', 'CWSeed': 'CWS', 'Daisuki': 'DSKI', 'DC Universe': 'DCU', 'Deadhouse Films': 'DHF', 'DramaFever': ['DF', 'DramaFever'], 'Digiturk Diledigin Yerde': 'DDY', 'Discovery': ['DISC', 'Discovery'], 'Disney': ['DSNY', 'Disney'], 'DIY Network': 'DIY', 'Doc Club': 'DOCC', 'DPlay': 'DPLY', 'E!': 'ETV', 'ePix': 'EPIX', 'El Trece': 'ETTV', 'ESPN': 'ESPN', 'Esquire': 'ESQ', 'Family': 'FAM', 'Family Jr': 'FJR', 'Food Network': 'FOOD', 'Fox': 'FOX', 'Freeform': 'FREE', 'FYI Network': 'FYI', 'Global': 'GLBL', 'GloboSat Play': 'GLOB', 'Hallmark': 'HLMK', 'HBO Go': ['HBO', 're:HBO-?Go'], 'HBO Max': 'HMAX', 'HGTV': 'HGTV', 'History': ['HIST', 'History'], 'Hulu': 'HULU', 'Investigation Discovery': 'ID', 'IFC': 'IFC', 'iTunes': ['iTunes', {'pattern': 'iT', 'ignore_case': False}], 'ITV': 'ITV', 'Knowledge Network': 'KNOW', 'Lifetime': 'LIFE', 'Motor Trend OnDemand': 'MTOD', 'MBC': ['MBC', 'MBCVOD'], 'MSNBC': 'MNBC', 'MTV': 'MTV', 'National Geographic': ['NATG', 're:National-?Geographic'], 'NBA TV': ['NBA', 're:NBA-?TV'], 'NBC': 'NBC', 'Netflix': ['NF', 'Netflix'], 'NFL': 'NFL', 'NFL Now': 'NFLN', 'NHL GameCenter': 'GC', 'Nickelodeon': ['NICK', 'Nickelodeon'], 'Norsk Rikskringkasting': 'NRK', 'OnDemandKorea': ['ODK', 'OnDemandKorea'], 'PBS': 'PBS', 'PBS Kids': 'PBSK', 'Playstation Network': 'PSN', 'Pluzz': 'PLUZ', 'RTE One': 'RTE', 'SBS (AU)': 'SBS', 'SeeSo': ['SESO', 'SeeSo'], 'Shomi': 'SHMI', 'Showtime': 'SHO', 'Spike': 'SPIK', 'Spike TV': ['SPKE', 're:Spike-?TV'], 'Sportsnet': 'SNET', 'Sprout': 'SPRT', 'Stan': 'STAN', 'Starz': 'STZ', 'Sveriges Television': 'SVT', 'SwearNet': 'SWER', 'Syfy': 'SYFY', 'TBS': 'TBS', 'TFou': 'TFOU', 'The CW': ['CW', 're:The-?CW'], 'TLC': 'TLC', 'TubiTV': 'TUBI', 'TV3 Ireland': 'TV3', 'TV4 Sweeden': 'TV4', 'TVING': 'TVING', 'TV Land': ['TVL', 're:TV-?Land'], 'UFC': 'UFC', 'UKTV': 'UKTV', 'Univision': 'UNIV', 'USA Network': 'USAN', 'Velocity': 'VLCT', 'VH1': 'VH1', 'Viceland': 'VICE', 'Viki': 'VIKI', 'Vimeo': 'VMEO', 'VRV': 'VRV', 'W Network': 'WNET', 'WatchMe': 'WME', 'WWE Network': 'WWEN', 'Xbox Video': 'XBOX', 'Yahoo': 'YHOO', 'YouTube Red': 'RED', 'ZDF': 'ZDF'}}, 'show_type': 'normal', 'type': 'episode', 'implicit': True, 'episode_prefer_number': False, 'expected_group': ['TV2LAX9', 'DHD', '20-40', 'E7']} -------------------------------------------------------------------- Traceback (most recent call last): File "/volume1/@appstore/medusa/var/Medusa/ext/guessit/api.py", line 192, in guessit matches = self.rebulk.matches(string, options) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 115, in matches self._execute_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rebulk.py", line 146, in _execute_rules rules.execute_all_rules(matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 312, in execute_all_rules when_response = execute_rule(rule, matches, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 337, in execute_rule rule.then(matches, when_response, context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 118, in then cons.then(matches, next(iterator), context) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/rules.py", line 136, in then matches.remove(match) File "/var/packages/python3/target/lib/python3.7/_collections_abc.py", line 1004, in remove del self[self.index(value)] File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 561, in __delitem__ self._remove_match(match) File "/volume1/@appstore/medusa/var/Medusa/ext/rebulk/match.py", line 136, in _remove_match _BaseMatches._base_remove(self._tag_dict[tag], match) ValueError: list.remove(x): x not in list -------------------------------------------------------------------- Please report at https://github.com/guessit-io/guessit/issues. ==================================================================== ```

Additional context Fixing this is not urgent.

007revad commented 2 years ago

You can close this issue as I've found the cause: The .nfo file for Titans (2018) S01E03 contained info for S01E01 !?!?