def tmdb_info(self): from tmdb3 import searchSeries, set_cache, set_key, set_locale, get_locale set_key('587c13e576f991c0a653f783b290a065') set_cache(filename='/tmp/tmdb3.cache') set_locale('en', 'us') _locale = get_locale() try: tmdb_results = searchSeries(self.title, first_air_date_year=self.year, locale=_locale) for _series in tmdb_results: if self.country: if not self.country in _series.origin_countries: continue if self.year: if not self.year == _series.first_air_date.year(): continue if self.title == decode(_series.name): raise GetOutOfLoop(_series) raise SeriesNotFound("Series Not Found in TMDb: {}".format(self.title)) except GetOutOfLoop, e: _series = e.message alias = {'name': 'title', 'id': 'tmdb_id', 'origin_countries': 'country'} for key in dir(_series): if key[:1] == '_': continue if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(getattr(_series, key)))
def review_entries(self, tmdb_results): """ :param tmdb_results: :param chkyear: :return: :raise MovieNotFound: """ try: for _movie in tmdb_results: _title = decode(_movie.title) if self.year: if matching(" ".join([_title.lower(), str(_movie.releasedate.year)]), " ".join([self.title.lower(), str(self.year)])): self.title = _title raise GetOutOfLoop(_movie) if matching(_title.lower(), self.title.lower()): self.title = _title raise GetOutOfLoop(_movie) else: # Check Alternate Titles: list(AlternateTitle) alternate_titles for _alternate_title in _movie.alternate_titles: log.trace('Check Alternate Titles: {}'.format(_alternate_title)) _alternate_title = decode(_alternate_title) if matching(_alternate_title, self.title): _movie.alternate_titles.append(_title) self.title = _alternate_title self.alternate_title = _movie.alternate_titles raise GetOutOfLoop(_movie) log.warn("Movie Not Found in TMDb: {}".format(self.title)) raise MovieNotFound("Movie Not Found in TMDb: {}".format(self.title)) except GetOutOfLoop, e: _movie = e.message if _movie.releasedate: if self.year: if (-2 < (self.year - _movie.releasedate.year) < 2): self.year = _movie.releasedate.year else: msg = "Movie name found, Years too far apart: {} - {}/{}".format(self.title, self.year, _movie.releasedate.year) log.warning(msg) raise MovieNotFound(msg) else: self.year = _movie.releasedate.year log.trace("Movie Located in TMDB") self.tmdb_id = _movie.id self.imdb_id = _movie.imdb self.slug = self.title self.cast = _movie.cast if hasattr(_movie, "alternate_titles"): self.alternate_title = _movie.alternate_titles
def __init__(self, **kwargs): super(Season, self).__init__() self.season_number = None self.season_name = None self.ids = { 'imdb': None, 'tmdb': None, 'MyTrakt': None, 'tvdb': None, 'tvrage': None, 'slug': None } self._episodes = None self.air_date = None self.series_id = None if len(kwargs) > 0: alias = { 'name': 'season_name', 'episodes': 'episodes', 'id': 'tmdb_id', 'origin_countries': 'country' } for key, val in kwargs.items(): if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(val))
def load_attr(self, kwargs): if len(kwargs) > 0: alias = {} for key, val in kwargs.items(): if key in alias: key = alias[key] if not hasattr(self, key): continue setattr(self, key, decode(val)) return
def load_attr(self, kwargs): if len(kwargs) > 0: alias = {'name': 'episode_title', 'id': 'tmdb_id', 'origin_countries': 'country'} for key, val in kwargs.items(): if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(val)) return
def load_attr(self, kwargs): if len(kwargs) > 0: alias={} for key, val in kwargs.items(): if key in alias: key = alias[key] if key in ['show', 'tvrage', 'tvdb']: self.load_attr(val) continue if not hasattr(self, key): continue setattr(self, key, decode(val)) return
def load_attr(self, kwargs): if len(kwargs) > 0: alias = {} for key, val in kwargs.items(): if key in alias: key = alias[key] if key in ['show', 'tvrage', 'tvdb']: self.load_attr(val) continue if not hasattr(self, key): continue setattr(self, key, decode(val)) return
def load_attr(self, kwargs): if len(kwargs) > 0: alias = { 'name': 'episode_title', 'id': 'tmdb_id', 'origin_countries': 'country' } for key, val in kwargs.items(): if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(val)) return
def tmdb_info(self): from tmdb3 import searchSeries, set_cache, set_key, set_locale, get_locale set_key('587c13e576f991c0a653f783b290a065') set_cache(filename='/tmp/tmdb3.cache') set_locale('en', 'us') _locale = get_locale() try: tmdb_results = searchSeries(self.title, first_air_date_year=self.year, locale=_locale) for _series in tmdb_results: if self.country: if not self.country in _series.origin_countries: continue if self.year: if not self.year == _series.first_air_date.year(): continue if self.title == decode(_series.name): raise GetOutOfLoop(_series) raise SeriesNotFound("Series Not Found in TMDb: {}".format( self.title)) except GetOutOfLoop, e: _series = e.message alias = { 'name': 'title', 'id': 'tmdb_id', 'origin_countries': 'country' } for key in dir(_series): if key[:1] == '_': continue if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(getattr(_series, key)))
def __init__(self, **kwargs): super(Season, self).__init__() self.season_number = None self.season_name = None self.ids = {'imdb': None, 'tmdb': None, 'MyTrakt': None, 'tvdb': None, 'tvrage': None, 'slug': None} self._episodes = None self.air_date = None self.series_id = None if len(kwargs) > 0: alias = {'name': 'season_name', 'episodes': 'episodes', 'id': 'tmdb_id', 'origin_countries': 'country'} for key, val in kwargs.items(): if key in alias: key2 = alias[key] else: key2 = key if not hasattr(self, key2): continue setattr(self, key2, decode(val))
def __decode_object(self, obj): for name in obj: obj[name] = library.decode(obj[name]) return obj