示例#1
0
    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
示例#2
0
	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
示例#3
0
    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
示例#4
0
    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
示例#5
0
    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