def __kodiLoadShows(self): self.sync.UpdateProgress(1, line1=utilities.getString(32094), line2=utilities.getString(32095)) logger.debug("[Episodes Sync] Getting show data from Kodi") data = utilities.kodiJsonRequest({'jsonrpc': '2.0', 'method': 'VideoLibrary.GetTVShows', 'params': {'properties': ['title', 'imdbnumber', 'year', 'userrating']}, 'id': 0}) if data['limits']['total'] == 0: logger.debug("[Episodes Sync] Kodi json request was empty.") return None, None tvshows = utilities.kodiRpcToTraktMediaObjects(data) logger.debug("[Episode Sync] Getting shows from kodi finished %s" % tvshows) if tvshows is None: return None, None self.sync.UpdateProgress(2, line2=utilities.getString(32096)) resultCollected = {'shows': []} resultWatched = {'shows': []} i = 0 x = float(len(tvshows)) logger.debug("[Episodes Sync] Getting episode data from Kodi") for show_col1 in tvshows: i += 1 y = ((i / x) * 8) + 2 self.sync.UpdateProgress(int(y), line2=utilities.getString(32097) % (i, x)) show = {'title': show_col1['title'], 'ids': {}, 'year': show_col1['year'], 'rating': show_col1['rating'], 'tvshowid': show_col1['tvshowid'], 'seasons': []} if 'ids' in show_col1 and 'tvdb' in show_col1['ids']: show['ids'] = {'tvdb': show_col1['ids']['tvdb']} data = utilities.kodiJsonRequest({'jsonrpc': '2.0', 'method': 'VideoLibrary.GetEpisodes', 'params': {'tvshowid': show_col1['tvshowid'], 'properties': ['season', 'episode', 'playcount', 'uniqueid', 'lastplayed', 'file', 'dateadded', 'runtime', 'userrating']}, 'id': 0}) if not data: logger.debug("[Episodes Sync] There was a problem getting episode data for '%s', aborting sync." % show['title']) return None, None elif 'episodes' not in data: logger.debug("[Episodes Sync] '%s' has no episodes in Kodi." % show['title']) continue if 'tvshowid' in show_col1: del(show_col1['tvshowid']) showWatched = copy.deepcopy(show) data2 = copy.deepcopy(data) show['seasons'] = utilities.kodiRpcToTraktMediaObjects(data) showWatched['seasons'] = utilities.kodiRpcToTraktMediaObjects(data2, 'watched') resultCollected['shows'].append(show) resultWatched['shows'].append(showWatched) self.sync.UpdateProgress(10, line2=utilities.getString(32098)) return resultCollected, resultWatched
def __kodiLoadMovies(self): self.__updateProgress(1, line2=utilities.getString(32079)) logger.debug("[Movies Sync] Getting movie data from Kodi") data = utilities.kodiJsonRequest({'jsonrpc': '2.0', 'id': 0, 'method': 'VideoLibrary.GetMovies', 'params': {'properties': ['title', 'imdbnumber', 'year', 'playcount', 'lastplayed', 'file', 'dateadded', 'runtime']}}) if data['limits']['total'] == 0: logger.debug("[Movies Sync] Kodi JSON request was empty.") return kodi_movies = utilities.kodiRpcToTraktMediaObjects(data) self.__updateProgress(10, line2=utilities.getString(32080)) return kodi_movies
def __kodiLoadShowList(self): Debug("[Episodes Sync] Getting show data from Kodi") data = utilities.kodiJsonRequest({ 'jsonrpc': '2.0', 'method': 'VideoLibrary.GetTVShows', 'params': { 'properties': ['title', 'imdbnumber', 'year'] }, 'id': 0 }) if not data: Debug("[Episodes Sync] Kodi json request was empty.") return None shows = utilities.kodiRpcToTraktMediaObjects(data) Debug("[Episode Sync] Shows finished %s" % shows) return shows
def __kodiLoadMovies(self): self.__updateProgress(1, line2=utilities.getString(1460)) Debug("[Movies Sync] Getting movie data from Kodi") data = utilities.kodiJsonRequest({ 'jsonrpc': '2.0', 'id': 0, 'method': 'VideoLibrary.GetMovies', 'params': { 'properties': [ 'title', 'imdbnumber', 'year', 'playcount', 'lastplayed', 'file', 'dateadded' ] } }) if data['limits']['total'] == 0: Debug("[Movies Sync] Kodi JSON request was empty.") return kodi_movies = utilities.kodiRpcToTraktMediaObjects(data) self.__updateProgress(10, line2=utilities.getString(1461)) return kodi_movies
def __kodiLoadShows(self): self.__updateProgress(1, line1=utilities.getString(1480), line2=utilities.getString(1481)) Debug("[Episodes Sync] Getting show data from Kodi") data = utilities.kodiJsonRequest({ 'jsonrpc': '2.0', 'method': 'VideoLibrary.GetTVShows', 'params': { 'properties': ['title', 'imdbnumber', 'year'] }, 'id': 0 }) if data['limits']['total'] == 0: Debug("[Episodes Sync] Kodi json request was empty.") return None tvshows = utilities.kodiRpcToTraktMediaObjects(data) Debug("[Episode Sync] Getting shows from kodi finished %s" % tvshows) if tvshows is None: return None self.__updateProgress(2, line2=utilities.getString(1482)) result = {'shows': []} i = 0 x = float(len(tvshows)) Debug("[Episodes Sync] Getting episode data from Kodi") for show_col1 in tvshows: show = { 'title': show_col1['title'], 'ids': {}, 'year': show_col1['year'], 'seasons': [] } if 'ids' in show_col1 and 'tvdb' in show_col1['ids']: show['ids'] = {'tvdb': show_col1['ids']['tvdb']} data = utilities.kodiJsonRequest({ 'jsonrpc': '2.0', 'method': 'VideoLibrary.GetEpisodes', 'params': { 'tvshowid': show_col1['tvshowid'], 'properties': [ 'season', 'episode', 'playcount', 'uniqueid', 'lastplayed', 'file', 'dateadded' ] }, 'id': 0 }) if not data: Debug( "[Episodes Sync] There was a problem getting episode data for '%s', aborting sync." % show['title']) return None elif 'episodes' not in data: Debug("[Episodes Sync] '%s' has no episodes in Kodi." % show['title']) continue seasons = utilities.kodiRpcToTraktMediaObjects(data) show['seasons'] = seasons if 'tvshowid' in show_col1: del (show_col1['tvshowid']) result['shows'].append(show) i += 1 y = ((i / x) * 8) + 2 self.__updateProgress(int(y), line2=utilities.getString(1483) % (i + 1, x)) self.__updateProgress(10, line2=utilities.getString(1484)) return result