def getSeasonCover(self, imdb_id, seasons, refresh=False): # add the tt if not found. integer aware. imdb_id=str(imdb_id) if not imdb_id.startswith('tt'): imdb_id = "tt%s" % imdb_id coversList = [] tvdb_id = self._get_tvdb_id(imdb_id) images = None if refresh == False: for season in seasons: meta = self._cache_lookup_season(imdb_id, season) if meta is None: meta = {} if tvdb_id is None or tvdb_id == '': meta['cover_url']='' elif images: meta['cover_url']=self.findCover( season, images ) else: if len(season) == 4: meta['cover_url']='' else: tmdb = TMDB() images = tmdb.getSeasonPosters(tvdb_id, season) print images meta['cover_url']=self.findCover( season, images ) meta['season']=season meta['tvdb_id'] = tvdb_id meta['imdb_id'] = imdb_id meta['watched'] = 6 self._cache_save_season_meta(meta) print meta['season'] + ' ' + meta['cover_url'] coversList.append(meta) return coversList
def _get_tmdb_meta_data(self, imdb_id): #get metadata text using themoviedb api tmdb = TMDB() md = tmdb.imdbLookup(imdb_id) if md is None: # create an empty dict so below will at least populate empty data for the db insert. md = {} # copy tmdb to our own for conformity and eliminate KeyError. # we set a default value for those keys not returned by tmdb. meta = {} meta['imdb_id'] = imdb_id meta['tmdb_id'] = md.get('id', '') meta['name'] = md.get('name', '') meta['rating'] = md.get('rating', 0) meta['duration'] = md.get('runtime', 0) meta['plot'] = md.get('overview', '') meta['mpaa'] = md.get('certification', '') meta['premiered'] = md.get('released', '') meta['trailer_url'] = md.get('trailer', '') meta['genres'] = '' meta['studios'] = '' try: meta['genres'] = (md.get('genres', '')[0])['name'] except: try: meta['genres'] = (md.get('genres', '')[1])['name'] except: try: meta['genres'] = (md.get('genres', '')[2])['name'] except: try: meta['genres'] = (md.get('genres', '')[3])['name'] except: #print 'genres failed: ',md.get('genres', '') pass try: meta['studios'] = (md.get('studios', '')[0])['name'] except: try: meta['studios'] = (md.get('studios', '')[1])['name'] except: try: meta['studios'] = (md.get('studios', '')[2])['name'] except: try: meta['studios'] = (md.get('studios', '')[3])['name'] except: #print 'studios failed: ',md.get('studios', '') pass #meta['cast'] = md.get('cast', '') #set whether that database row will be accompanied by pre-packed images. meta['imgs_prepacked'] = self.classmode # define these early cuz they must exist whether posters do or not meta['thumb_url'] = '' meta['cover_url'] = '' if md.has_key('posters'): # find first thumb poster url for poster in md['posters']: if poster['image']['size'] == 'thumb': meta['thumb_url'] = poster['image']['url'] break # find first cover poster url for poster in md['posters']: if poster['image']['size'] == 'cover': meta['cover_url'] = poster['image']['url'] break meta['backdrop_url'] = '' if md.has_key('backdrops'): # find first original backdrop url for backdrop in md['backdrops']: if backdrop['image']['size'] == 'original': meta['backdrop_url'] = backdrop['image']['url'] break return meta
def _get_tvdb_episode_data(self, tvdb_id, season, episode, dateSearch=False): #get metadata text using themoviedb api tmdb = TMDB() meta = tmdb.tvdbLookup(tvdb_id,season,episode, dateSearch) return meta