Skip to content

[BUG] Trakts ignores remap rules and filename over ambiguous season names in path #306

@drygoatair

Description

@drygoatair

Describe the bug
I'm playing this video file:
M:\tmp\Mr Inbetween S01-S03 1080p WEBRip DD5.1Ch HEVC 10Bit-Shieldearer\Season 01\Mr Inbetween - S01E01 - The Pee Pee Guy.mkv

Note that the filename contains all details necessary to properly scrobble this video. However, trakts returns this message:
Multiple probable seasons found: (1,2,3). Consider renaming the folder.

So I add the following remap rule:

[[rules]]
match.path = ".*Mr Inbetween.*Season 01.*"

type = "episode"
id.trakt_slug = "mr-inbetween"
season = 1

Still, trakts returns:
Multiple probable seasons found: (1,2,3). Consider renaming the folder.

Renaming the folder is not an option.

Desktop (please complete the following information):

  • OS and Version: Windows 11 23H2
  • Python Version: 3.11.8
  • Player and Version: MPC-BE 1.7.2
  • Trakt Scrobbler Version: 1.6.3

To Reproduce

Steps to reproduce the behavior:

  1. Create a folder named Mr Inbetween S01-S03 1080p WEBRip DD5.1Ch HEVC 10Bit-Shieldearer
  2. Create a subfolder named Season 01
  3. Place a video with filename Mr Inbetween - S01E01 - The Pee Pee Guy.mkv in the Season 01 folder
  4. Add the remap rule to remap_rules.toml
  5. Play the video

Log file

Click to see log contents

2024-07-03 22:36:41,308 - DEBUG - MainThread - notifier - Notifications enabled for categories: exception, misc, scrobble.pause, scrobble.resume, scrobble.start, scrobble.stop, trakt
2024-07-03 22:36:41,999 - INFO - MainThread - scrobbler - Started scrobbler thread.
2024-07-03 22:36:42,062 - DEBUG - MainThread - monitor - Autoloaded mpv ipc_path = \\.\pipe\mpvsocket
2024-07-03 22:36:42,062 - INFO - MainThread - monitor - Started monitor for mpv
2024-07-03 22:36:42,062 - INFO - mpv - mpv - Unable to connect to MPV. Check ipc path.
2024-07-03 22:36:42,062 - INFO - MainThread - monitor - Started monitor for mpc-be
2024-07-03 22:36:42,063 - INFO - MainThread - monitor - Started monitor for vlc
2024-07-03 22:36:44,108 - DEBUG - mpc-be - file_info - Raw filepath 'M:\\tmp\\Mr Inbetween S01-S03 1080p WEBRip DD5.1Ch HEVC 10Bit-Shieldearer\\Season 01\\Mr Inbetween - S01E01 - The Pee Pee Guy.mkv'
2024-07-03 22:36:44,108 - DEBUG - mpc-be - file_info - Matched whitelist entry 'M:\\tmp'
2024-07-03 22:36:44,249 - DEBUG - mpc-be - file_info - Guess: MatchesDict([('title', 'Mr Inbetween'), ('season', [1, 2, 3]), ('screen_size', '1080p'), ('source', 'Web'), ('other', 'Rip'), ('audio_codec', 'Dolby Digital'), ('audio_channels', '5.1'), ('video_codec', 'H.265'), ('video_profile', 'High Efficiency Video Coding'), ('color_depth', '10-bit'), ('episode_title', 'Shieldearer'), ('episode', 1), ('container', 'mkv'), ('mimetype', 'video/x-matroska'), ('type', 'episode')])
2024-07-03 22:36:44,249 - WARNING - mpc-be - file_info - Multiple probable seasons found: (1,2,3). Consider renaming the folder.
2024-07-03 22:36:44,250 - ERROR - mpc-be - __init__ - Unhandled exception
Traceback (most recent call last):
  File "C:\Program Files\Python311\Lib\threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\player_monitors\monitor.py", line 387, in run
    self.handle_status_update()
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\player_monitors\monitor.py", line 338, in handle_status_update
    current_state = self.parse_status(self.status)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\player_monitors\monitor.py", line 163, in parse_status
    media_info = get_media_info(status['filepath'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\file_info.py", line 130, in get_media_info
    guess = apply_remap_rules(file_path, guess)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\mediainfo_remap.py", line 284, in apply_remap_rules
    upd = rule.apply(path, media_info)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\mediainfo_remap.py", line 213, in apply
    match = self.match.match(path, media_info)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\DryGo\.local\pipx\venvs\trakt-scrobbler\Lib\site-packages\trakt_scrobbler\mediainfo_remap.py", line 115, in match
    title = guess.get("title")
            ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
2024-07-03 22:36:46,143 - INFO - vlc - monitor - Unable to connect to vlc. Ensure that the web interface is running.
2024-07-03 22:36:49,272 - ERROR - Thread-6 (_show_toast) - __init__ - Unhandled exception
TypeError: WPARAM is simple, so must be an int object (got NoneType)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions