luigi311 / JellyPlex-Watched

Sync watched between jellyfin and plex locally
GNU General Public License v3.0
392 stars 19 forks source link

[BUG] I get: [ERROR]: Jellyfin: Error updating watched for matin in library Anime, 'Name' #95

Closed Black-Speedy closed 1 year ago

Black-Speedy commented 1 year ago

I don't understand why this error pops up, it wasn't there before, but I'm not sure for how long it has been there, since I was on a trip.

This is the console log: Plex: Generating watched for mikail121 in library Movies Plex: Generating watched for mikail121 in library Anime Plex: Generating watched for mikail121 in library Cartoons Plex: Generating watched for black_speedy in library Movies Plex: Generating watched for black_speedy in library Anime Plex: Generating watched for black_speedy in library Cartoons Jellyfin: Generating watched for matin in library Anime Jellyfin: Generating watched for matin in library Cartoons Jellyfin: Generating watched for matin in library Movies Jellyfin: Generating watched for miko in library Anime [ERROR]: Jellyfin: Error updating watched for matin in library Anime, 'Name' [ERROR]: Traceback (most recent call last): File "C:\Plugins For Video\JellyPlex-Watched\src\jellyfin.py", line 800, in update_user_watched f"Jellyfin: Skipping episode {jellyfin_episode['Name']} as it is not in mark list for {user_name}", KeyError: 'Name'

Average time: 50.37688530000014 Looping in 3600.0

I'm not sure if it might be some show that it doesn't recognize or what it might be.

This is my config:

# Global Settings

## Do not mark any shows/movies as played and instead just output to log if they would of been marked. DRYRUN = "False"

## Additional logging information DEBUG = "False"

## Debugging level, "info" is default, "debug" is more verbose DEBUG_LEVEL = "info"

## If set to true then the script will only run once and then exit RUN_ONLY_ONCE = "False"

## How often to run the script in seconds SLEEP_DURATION = "3600"

## Log file where all output will be written to LOGFILE = "log.log"

## Map usernames between servers in the event that they are different, order does not matter ## Comma separated for multiple options USER_MAPPING = { "black_speedy": "matin", "mikail121":"Miko" }

## Map libraries between servers in the even that they are different, order does not matter ## Comma separated for multiple options #LIBRARY_MAPPING = { "Shows": "TV Shows", "Movie": "Movies" }

## Blacklisting/Whitelisting libraries, library types such as Movies/TV Shows, and users. Mappings apply so if the mapping for the user or library exist then both will be excluded. ## Comma separated for multiple options #BLACKLIST_LIBRARY = "" #WHITELIST_LIBRARY = "" #BLACKLIST_LIBRARY_TYPE = "" #WHITELIST_LIBRARY_TYPE = "" #BLACKLIST_USERS = "" WHITELIST_USERS = "black_speedy,matin,mikail121,Miko"

# Plex

## Recommended to use token as it is faster to connect as it is direct to the server instead of going through the plex servers ## URL of the plex server, use hostname or IP address if the hostname is not resolving correctly ## Comma separated list for multiple servers PLEX_BASEURL = "http://localhost:32400"

## Plex token https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ ## Comma separated list for multiple servers PLEX_TOKEN = ""

## If not using plex token then use username and password of the server admin along with the servername ## Comma separated for multiple options #PLEX_USERNAME = "" #PLEX_PASSWORD = "" #PLEX_SERVERNAME = "MediaPC"

## Skip hostname validation for ssl certificates. ## Set to True if running into ssl certificate errors SSL_BYPASS = "False"

## control the direction of syncing. e.g. SYNC_FROM_PLEX_TO_JELLYFIN set to true will cause the updates from plex ## to be updated in jellyfin. SYNC_FROM_PLEX_TO_PLEX set to true will sync updates between multiple plex servers SYNC_FROM_PLEX_TO_JELLYFIN = "True" SYNC_FROM_JELLYFIN_TO_PLEX = "True" SYNC_FROM_PLEX_TO_PLEX = "True" SYNC_FROM_JELLYFIN_TO_JELLYFIN = "True"

# Jellyfin

## Jellyfin server URL, use hostname or IP address if the hostname is not resolving correctly ## Comma separated list for multiple servers JELLYFIN_BASEURL = "http://localhost:8096"

## Jellyfin api token, created manually by logging in to the jellyfin server admin dashboard and creating an api key ## Comma separated list for multiple servers JELLYFIN_TOKEN = ""

luigi311 commented 1 year ago

This is related to sometimes objects not having a name for some reason. Can you try the dev branch, it should be fixed there now.

Black-Speedy commented 1 year ago

I just tried and it does seem to work. Thank you very much!

luigi311 commented 1 year ago

thats great to hear! Ill go ahead and merge it up so you dont have to stay on the dev branch