Taxel / PlexTraktSync

A python script that syncs the movies, shows and ratings between trakt and Plex (without needing a PlexPass or Trakt VIP subscription)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Watch command: TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'

jrpetersjr opened this issue · comments

Confirmation

  • I have read the README.md on the project homepage
  • I have checked if identical issue already exists
  • I have tried downgrading to find version that can be used as a workaround

The problem

The container that I have that does a sync is working, but the container that is running watch does not scrobble my movies or tv shows.

Steps to reproduce the behavior

  1. Run Container
  2. Start Movie In Plex
  3. Wait 5 minutes
  4. Open Trakt
  5. See that nothing is shown as being watched

Error trace / logs

2024-02-21 19:03:45,403 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:03:53,609 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:03:54,294 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:03,631 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:13,648 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:23,665 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:33,679 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:43,699 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:04:53,713 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:05:18,296 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:05:31,426 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:05:58,327 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:06:23,591 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:06:57,365 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:07:27,668 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:07:37,656 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:07:47,661 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:08:47,950 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:09:57,764 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:11:18,061 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:11:32,239 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'
2024-02-21 19:11:34,220 ERROR[PlexTraktSync.EventDispatcher]:TypeError was raised: unsupported operand type(s) for +: 'NoneType' and 'list'

Expected behavior

I would expect that I could see on Trakt that I am watching a movie.

Inspect of problematic items

No response

Workarounds

This is a first install. I am using the latest.

Install method

docker-compose

Config file contents

cache:
  path: $PTS_CACHE_DIR/trakt_cache

# You may want to use per server libraries config instead:
# - https://github.com/Taxel/PlexTraktSync#libraries
excluded-libraries:
  - Private

config:
  dotenv_override: true

plex:
  timeout: 30

logging:
  append: true
  # Whether to show timestamps in console messages
  console_time: false
  debug: false
  filename: plextraktsync.log
  # Additional logger names to apply filtering
  filter_loggers:
#    - plexapi
#    - requests_cache.backends
#    - requests_cache.backends.base
#    - requests_cache.backends.sqlite
#    - requests_cache.policy.actions
#    - requests_cache.session
#    - trakt.core
#    - urllib3.connectionpool
  filter:
#    # Filter out all messages with level WARNING
#    - level: WARNING
#    # Filter out message with level WARNING and containing a text
#    - level: WARNING
#      message: "not found on Trakt"
#    - message: "because provider local has no external Id"
#    - message: "because provider none has no external Id"
#    - message: "Retry using search for specific Plex Episode"
#    # Filter out messages by requests_cache
#    - name: requests_cache.backends
#    - name: requests_cache.backends.base
#    - name: requests_cache.backends.sqlite
#    - name: requests_cache.policy.actions
#    - name: requests_cache.session

# settings for 'sync' command
sync:
  # Setting for whether ratings from one platform should have priority.
  # Valid values are trakt, plex or none. (default: plex)
  # none - No rating priority. Existing ratings are not overwritten.
  # trakt - Trakt ratings have priority. Existing Plex ratings are overwritten.
  # plex - Plex ratings have priority. Existing Trakt ratings are overwritten.
  rating_priority: trakt

  plex_to_trakt:
    collection: true
    # Clear collected state of items not present in Plex
    clear_collected: false
    ratings: true
    watched_status: true
    # If plex_to_trakt watchlist=false and trakt_to_plex watchlist=true
    # the Plex watchlist will be overwritten by Trakt watchlist
    watchlist: true
  trakt_to_plex:
    liked_lists: true
    ratings: true
    watched_status: true
    # If trakt_to_plex watchlist=false and plex_to_trakt watchlist=true
    # the Trakt watchlist will be overwritten by Plex watchlist
    watchlist: true
    # If you prefer to fetch trakt watchlist as a playlist instead of
    # plex watchlist, toggle this to true (is read only if watchlist=true)
    watchlist_as_playlist: false

# settings for 'watch' command
watch:
  add_collection: false
  remove_collection: false
  # what video watched percentage (0 to 100) triggers the watched status
  scrobble_threshold: 90
  # true to scrobble only what's watched by you, false for all your PMS users
  username_filter: true
  # Show the progress bar of played media in terminal
  media_progressbar: true

xbmc-providers:
  movies: imdb
  shows: tvdb

##### Advanced settings below this line, don't edit unless you know what you're doing #####
#http_cache:
  # https://requests-cache.readthedocs.io/en/main/user_guide/expiration.html#url-patterns
  # https://requests-cache.readthedocs.io/en/main/user_guide/expiration.html#expiration-values
  #
  # The value is seconds to cache.
  # Or one of the following special values:
  # - DO_NOT_CACHE: Skip both reading from and writing to the cache
  # - EXPIRE_IMMEDIATELY: Consider the response already expired, but potentially usable
  # - NEVER_EXPIRE: Store responses indefinitely
  #
  # The value can be also suffixed with a time unit:
  # - 5m, 1h, 3d
  # See full documentation at:
  # - https://github.com/wroberts/pytimeparse#pytimeparse-time-expression-parser
  #
  # NOTE: If there is more than one match, the first match will be used in the order they are defined
#  policy:
#    "*.trakt.tv/users/me": 1d
#    "*.trakt.tv/users/likes/lists": DO_NOT_CACHE

# vim:ts=2:sw=2:et

Version

0.28.20

Python Version

3.12.2

Plex Server Version

1.32.8.7639-fb6452ebf

Operating System and Version

Ubuntu 22.04.4 LTS

Enable debug logging and show the trace. also, you may try downgrading to see if some recent version caused the breakage. Also, try reverting changes to config to servers.yml, maybe you made invalid change there.

for me it seems something config related. perhaps in servers.yml. when sharing servers.yml be sure not to post your token and server urls/id's. sharing those would grant anyone having them access to your server.

closing. reporter has dissapared

Sorry that I disappeared. I did figure it out though.

My server was not set as the default server so I removed the default server and then it would not connect and I remembered that between starting this and now I've moved plex behind a reverse proxy so I had to add the URL of that to the beginning of the list of URLs in the server. It now completely works.