def watchlistTagCheck(self): if not utilities.isMovie(self.curVideo['type']): return if not 'id' in self.curVideo: return if not (tagging.isTaggingEnabled() and tagging.isWatchlistsEnabled()): return id = self.curVideo['id'] result = utilities.getMovieDetailsFromXbmc(id, ['tag']) if result: tags = result['tag'] if tagging.hasTraktWatchlistTag(tags): tags.remove(tagging.listToTag("Watchlist")) s = utilities.getFormattedItemName(self.curVideo['type'], self.curVideoInfo) tagging.xbmcSetTags(id, self.curVideo['type'], s, tags) else: utilities.Debug( "No data was returned from XBMC, aborting tag udpate.")
def watchlistTagCheck(self): if not utilities.isMovie(self.curVideo['type']): return if not 'id' in self.curVideo: return if not (tagging.isTaggingEnabled() and tagging.isWatchlistsEnabled()): return id = self.curVideo['id'] result = utilities.getMovieDetailsFromXbmc(id, ['tag']) if result: tags = result['tag'] if tagging.hasTraktWatchlistTag(tags): tags.remove(tagging.listToTag("Watchlist")) s = utilities.getFormattedItemName(self.curVideo['type'], self.curVideoInfo) tagging.xbmcSetTags(id, self.curVideo['type'], s, tags) else: utilities.Debug("No data was returned from XBMC, aborting tag udpate.")
def rateOnTrakt(rating, media_type, media, unrate=False): utils.Debug("[Rating] Sending rating (%s) to trakt.tv" % rating) params = {} params['rating'] = rating if utils.isMovie(media_type): params['title'] = media['title'] params['year'] = media['year'] params['tmdb_id'] = media['tmdb_id'] params['imdb_id'] = media['imdb_id'] data = globals.traktapi.rateMovie(params) elif utils.isShow(media_type): params['title'] = media['title'] params['year'] = media['year'] params['tvdb_id'] = media['tvdb_id'] params['imdb_id'] = media['imdb_id'] data = globals.traktapi.rateShow(params) elif utils.isEpisode(media_type): params['title'] = media['show']['title'] params['year'] = media['show']['year'] params['season'] = media['episode']['season'] params['episode'] = media['episode']['number'] params['tvdb_id'] = media['show']['tvdb_id'] params['imdb_id'] = media['show']['imdb_id'] data = globals.traktapi.rateEpisode(params) else: return if data: s = utils.getFormattedItemName(media_type, media) if 'status' in data and data['status'] == "success": if tagging.isTaggingEnabled() and tagging.isRatingsEnabled(): if utils.isMovie(media_type) or utils.isShow(media_type): id = media['xbmc_id'] f = utils.getMovieDetailsFromXbmc if utils.isMovie(media_type) else utils.getShowDetailsFromXBMC result = f(id, ['tag']) if result: tags = result['tag'] new_rating = rating if new_rating == "love": new_rating = 10 elif new_rating == "hate": new_rating = 1 new_rating_tag = tagging.ratingToTag(new_rating) if unrate: new_rating_tag = "" update = False if tagging.hasTraktRatingTag(tags): old_rating_tag = tagging.getTraktRatingTag(tags) if not old_rating_tag == new_rating_tag: tags.remove(old_rating_tag) update = True if not unrate and new_rating >= tagging.getMinRating(): tags.append(new_rating_tag) update = True if update: tagging.xbmcSetTags(id, media_type, s, tags) else: utils.Debug("No data was returned from XBMC, aborting tag udpate.") if not unrate: utils.notification(utils.getString(1350), s) else: utils.notification(utils.getString(1352), s) elif 'status' in data and data['status'] == "failure": utils.notification(utils.getString(1354), s) else: # status not in data, different problem, do nothing for now pass