diff --git a/resources/lib/jellyfin/core/api.py b/resources/lib/jellyfin/core/api.py index e364e2dc..ffb1fad4 100644 --- a/resources/lib/jellyfin/core/api.py +++ b/resources/lib/jellyfin/core/api.py @@ -238,6 +238,13 @@ class API(object): def get_plugins(self): return self._get("Plugins") + def check_companion_installed(self): + try: + self._get("/Jellyfin.Plugin.KodiSyncQueue/GetServerDateTime") + return True + except Exception: + return False + def get_seasons(self, show_id): return self.shows("/%s/Seasons" % show_id, params={ 'UserId': "{UserId}", diff --git a/resources/lib/library.py b/resources/lib/library.py index bf801a5f..6726ade3 100644 --- a/resources/lib/library.py +++ b/resources/lib/library.py @@ -348,17 +348,15 @@ class Library(threading.Thread): if settings('SyncInstallRunDone.bool'): if settings('kodiCompanion.bool'): - for plugin in self.server.jellyfin.get_plugins(): - if plugin['Name'] in ("Jellyfin.Kodi Sync Queue", "Kodi companion", "Kodi Sync Queue"): + if self.server.jellyfin.check_companion_installed(): - if not self.fast_sync(): - dialog("ok", heading="{jellyfin}", line1=_(33128)) + if not self.fast_sync(): + dialog("ok", heading="{jellyfin}", line1=_(33128)) - raise Exception("Failed to retrieve latest updates") + raise Exception("Failed to retrieve latest updates") - LOG.info("--<[ retrieve changes ]") + LOG.info("--<[ retrieve changes ]") - break else: raise LibraryException('CompanionMissing')