From dad8d588243de44795cb6c2e158608a699d441e7 Mon Sep 17 00:00:00 2001 From: croneter Date: Sat, 6 Feb 2021 12:20:52 +0100 Subject: [PATCH 1/3] Fix AttributeError: 'App' object has no attribute 'threads' when sync is cancelled --- resources/lib/app/application.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lib/app/application.py b/resources/lib/app/application.py index 79608afd..318276fc 100644 --- a/resources/lib/app/application.py +++ b/resources/lib/app/application.py @@ -19,6 +19,8 @@ class App(object): def __init__(self, entrypoint=False): self.fetch_pms_item_number = None self.force_reload_skin = None + # All thread instances + self.threads = [] if entrypoint: self.load_entrypoint() else: @@ -45,8 +47,6 @@ class App(object): self.monitor = None # xbmc.Player() instance self.player = None - # All thread instances - self.threads = [] # Instance of FanartThread() self.fanart_thread = None # Instance of ImageCachingThread() From a3d654c65c1ceeaf2183a8f9ad8585c56e6d7792 Mon Sep 17 00:00:00 2001 From: croneter Date: Sun, 7 Feb 2021 13:00:58 +0100 Subject: [PATCH 2/3] Fix KeyError: u'game' if Plex Arcade has been activated --- resources/lib/library_sync/sections.py | 3 +++ resources/lib/variables.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/resources/lib/library_sync/sections.py b/resources/lib/library_sync/sections.py index 04acbbad..481beae5 100644 --- a/resources/lib/library_sync/sections.py +++ b/resources/lib/library_sync/sections.py @@ -650,6 +650,9 @@ def _sync_from_pms(pick_libraries): sections = [] old_sections = [] for i, xml_element in enumerate(xml.findall('Directory')): + api = API(xml_element) + if api.plex_type in v.UNSUPPORTED_PLEX_TYPES: + continue sections.append(Section(index=i, xml_element=xml_element)) with PlexDB() as plexdb: for section_db in plexdb.all_sections(): diff --git a/resources/lib/variables.py b/resources/lib/variables.py index b6fd59e8..19b1c174 100644 --- a/resources/lib/variables.py +++ b/resources/lib/variables.py @@ -189,9 +189,15 @@ PLEX_TYPE_PHOTO = 'photo' PLEX_TYPE_PLAYLIST = 'playlist' PLEX_TYPE_CHANNEL = 'channel' +PLEX_TYPE_GAME = 'game' + # E.g. PMS answer when hitting the PMS endpoint /hubs/search PLEX_TYPE_TAG = 'tag' +# PlexKodiConnect does not support all (content) types +# e.g. Plex Arcade games +UNSUPPORTED_PLEX_TYPES = (PLEX_TYPE_GAME, ) + # Used for /:/timeline XML messages PLEX_PLAYLIST_TYPE_VIDEO = 'video' PLEX_PLAYLIST_TYPE_AUDIO = 'music' From 31549a1ffbac146a9b2c367d71539ad4e4550554 Mon Sep 17 00:00:00 2001 From: croneter Date: Sun, 7 Feb 2021 13:07:55 +0100 Subject: [PATCH 3/3] Beta and stable version bump 2.12.13 --- addon.xml | 8 ++++++-- changelog.txt | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/addon.xml b/addon.xml index e8dd5c02..1fd60bef 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + @@ -83,7 +83,11 @@ Natūralioji „Plex“ integracija į „Kodi“ Prijunkite „Kodi“ prie „Plex Medija Serverio“. Šiame papildinyje daroma prielaida, kad valdote visus savo vaizdo įrašus naudodami „Plex“ (ir nė vieno su „Kodi“). Galite prarasti jau saugomus „Kodi“ vaizdo įrašų ir muzikos duomenų bazių duomenis (kadangi šis papildinys juos tiesiogiai pakeičia). Naudokite savo pačių rizika! Naudokite savo pačių rizika - version 2.12.12: + version 2.12.13: +- Fix KeyError: u'game' if Plex Arcade has been activated +- Fix AttributeError: 'App' object has no attribute 'threads' when sync is cancelled + +version 2.12.12: - Hopefully fix rare case when sync would get stuck indefinitely - Fix ValueError: invalid literal for int() for invalid dates sent by Plex - version 2.12.11 for everyone diff --git a/changelog.txt b/changelog.txt index ebe395ef..a6bd1e90 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +version 2.12.13: +- Fix KeyError: u'game' if Plex Arcade has been activated +- Fix AttributeError: 'App' object has no attribute 'threads' when sync is cancelled + version 2.12.12: - Hopefully fix rare case when sync would get stuck indefinitely - Fix ValueError: invalid literal for int() for invalid dates sent by Plex