Esempio n. 1
0
	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)))
Esempio n. 2
0
	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
Esempio n. 3
0
    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))
Esempio n. 4
0
	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
Esempio n. 5
0
 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
Esempio n. 6
0
	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
Esempio n. 7
0
	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
Esempio n. 8
0
 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
Esempio n. 9
0
 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
Esempio n. 10
0
    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)))
Esempio n. 11
0
	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))
Esempio n. 12
0
 def __decode_object(self, obj):
     for name in obj:
         obj[name] = library.decode(obj[name])
     return obj