trakt / Plex-Trakt-Scrobbler

Add what you are watching on Plex to trakt.tv
1.45k stars 167 forks source link

AttributeError: 'MovieMatch' object has no attribute 'identiifers' #416

Open KingJ opened 7 years ago

KingJ commented 7 years ago

I'm not entirely sure what's causing this error, and it might indeed be a case of error 1 triggering error 2;

  1. The mapped object referenced on the second line (hama/tvdb3/70668) no longer exists on the server - I added this temporarily to check if an issue with 3rd party metadata agents had been fixed in PMS 1.4.2 and deleted it afterwards. I have deleted the files from my server and also emptied the library's recycle bin.
  2. Trakt is attempting to access the attribute identiifers - is this meant to be identifiers instead? I can only find one reference to this exact spelling in the code.

Trakt for Plex: 1.3.2 Plex Media Server: 1.4.2

2017-02-21 23:36:53,729 - oem.core.services.base           (7fdecb7fe700) :  INFO (oem.core.services.base:1159) - Loaded service: tvdb  -> anidb (storage: <oem_storage_codernitydb.database.DatabaseCodernityDbStorage object at 0x7fdec950a
650>)
2017-02-21 23:36:53,732 - plugin.sync.core.guid.parser     (7fdecb7fe700) :  DEBUG (plugin.sync.core.guid.parser:1147) - [hama/tvdb3/70668] - Mapped to: tvdb/70668
2017-02-21 23:36:53,736 - plugin.sync.main                 (7fdecb7fe700) :  WARNING (plugin.sync.main:1171) - Exception raised in sync task: 'MovieMatch' object has no attribute 'identiifers'
Traceback (most recent call last):
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/main.py", line 173, in run_wrapper
    self.run()
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/main.py", line 260, in run
    'stop'
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/main.py", line 277, in _trigger
    func()
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/elapsed/main.py", line 64, in inner
    return func(*args, **kwargs)
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/modes/full.py", line 36, in run
    self.modes[SyncMode.FastPull].execute_children('run')
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/modes/core/base/mode.py", line 136, in execute_children
    func()
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/elapsed/main.py", line 64, in inner
    return func(*args, **kwargs)
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/modes/fast_pull/shows.py", line 83, in run
    self.run_shows()
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/modes/fast_pull/shows.py", line 96, in run_shows
    match = GuidParser.parse(guid)
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/sync/core/guid/parser.py", line 57, in parse
    resolve_mappings=False
  File "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/Trakttv.bundle/Contents/Libraries/Shared/plugin/modules/mapper/main.py", line 183, in id
    log.info('[%s/%s] - Unable to find valid identifier in %r', source, key, match.identiifers)
AttributeError: 'MovieMatch' object has no attribute 'identiifers'
fuzeman commented 7 years ago

Fixed that exception on the development branch, will probably release the fix in a new stable version this weekend.


The mapped object referenced on the second line (hama/tvdb3/70668) no longer exists on the server

Yeah, deleted items are probably still being synchronized in the plugin. Didn't really think about how Plex was handling deletions when the sync system was being built...

I'll have a look to see if we can fix this on the stable branch, if it's going to be too complicated it might need to be left until the sync overhaul is finished.

KingJ commented 7 years ago

Many thanks for the quick fix @fuzeman. I updated to the development branch and was able to run a full sync without issue.

KingJ commented 6 years ago

I've just updated from the Feb 2017 develop branch to the new v1.3.3 stable. However, upon running a sync I ran in to this again. Did the fix make it from the development branch in to the master branch?

KingJ commented 6 years ago

Manually applying the fix in 4d9b1e36843433ce2a54fe3b161f883782388a69 to v1.3.3 is working for the moment.