Пример #1
0
 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
Пример #2
0
    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
Пример #3
0
 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