def displayRecommendedMovies(genre): xbmcplugin.setContent(int(sys.argv[1]), 'movies') movies = traktlib.getRecommendedMoviesFromTrakt(genre) for movie in movies: common.createMovieListItemTrakt(movie,totalItems = len(movies)) common.endofDir() return
def getImdbAwards(type,year): if type == 'Oscars': url = 'http://www.imdb.com/event/ev0000003/{0}'.format(year) elif type == 'Cannes': url = 'http://www.imdb.com/event/ev0000147/{0}'.format(year) response = urllib2.urlopen(url) html = response.read() soup = BeautifulSoup(html) #print soup.prettify() winners = soup.findAll('h2') movies = dict() for winner in winners: category = winner.text try: h3 = winner.findNextSibling('blockquote').h3 except: continue winnerdiv = h3.findNextSibling('div') link = winnerdiv.find(href=re.compile("/title/tt(\d{7})/")) imdb_number = re.match(r'/title/tt(\d{7})/',link.get('href')).group(1) if not imdb_number in movies.keys(): movie = common.getMovieInfobyImdbid(imdb_number) if movie: movies[imdb_number] = movie else: movies[imdb_number] = None else: movie= movies[imdb_number] common.createListItem(category, False, '',len(winners)*2) if movie: common.createMovieListItemTrakt(movie,len(winners)*2) else: common.createListItem(imdb_number, False, '',len(winners)*2) common.endofDir() return
def displayList(user,slug): myList = traktlib.getList(user,slug) movies = [] for item in myList['items']: if item['type']=="movie": myMovie = item['movie'] myMovie['watched']=item['watched'] movies.append(myMovie) for movie in movies: print movie['watched'] common.createMovieListItemTrakt(movie,totalItems = len(movies)) common.endofDir() return
def showMovies(movies): for movie in movies: try: imdbid = movie['alternate_ids']['imdb'] except: imdbid = None if imdbid: rating = '[ ' + str(movie['ratings']['critics_rating']) + ' ' + str(movie['ratings']['critics_score']) + '%] ' common.createMovieListItemfromimdbid(imdbid,totalItems = len(movies),extrainfo = rating + '{0} ({1})') else: movietitle = movie['title'] movieyear = movie['year'] rating = '[ ' + str(movie['ratings']['critics_rating']) + ' ' + str(movie['ratings']['critics_score']) + '%] ' common.createMovieListItemTrakt(None,movietitle,movieyear,totalItems = len(movies), extrainfo = rating + '{0} ({1})') common.endofDir()
def displayList(user,slug): #xbmcplugin.setContent(int(sys.argv[1]), 'movies') myList = traktlib.getList(user,slug) movies = [] shows = [] for item in myList['items']: if item['type']=="movie": movies.append(item['movie']) elif item['type']=="show": shows.append(item['show']) for movie in movies: try: common.createMovieListItemTrakt(movie,totalItems = len(movies)) except: None for show in shows: try: common.createShowListItemTrakt(show,totalItems = len(shows)) except: None common.endofDir() return
def traktAction(params): if(params['action'] == 'trakt_Menu'): displayTraktMenu() elif(params['action'] == 'trakt_SearchMovies'): # Search keyboard = xbmc.Keyboard('', 'Search') keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() movies = traktlib.getMovieInfobySearch(unicode(query)) for movie in movies: common.createMovieListItemTrakt(movie,totalItems = len(movies)) common.endofDir() elif(params['action'] == 'trakt_SearchShows'): # Search keyboard = xbmc.Keyboard('', 'Search') keyboard.doModal() if keyboard.isConfirmed(): query = keyboard.getText() shows = traktlib.getShowInfobySearch(unicode(query)) for show in shows: common.createShowListItemTrakt(show,totalItems = len(shows)) common.endofDir() elif(params['action'] == 'trakt_SeenRate'): imdbid = params['imdbid'] traktSeenRate(imdbid) elif(params['action'] == 'trakt_DismissMovie'): imdbid = params['imdbid'] traktDismissMovie(imdbid) elif(params['action'] == 'trakt_MovieGenres'): displayGenres(type='Movie') elif(params['action'] == 'trakt_ShowGenres'): displayGenres(type='Show') elif(params['action'] == 'trakt_RecommendedShows'): try: genre = params['genre'] except: genre = None if genre: displayRecommendedShows(genre) else : url = sys.argv[0]+'?action=trakt_ShowGenres' common.createListItem('Filter by Genre', True, url) displayRecommendedShows(genre) elif(params['action'] == 'trakt_listfeeds'): myfeeds = furklib.myFeeds()['feeds'] myfeeds = sorted(myfeeds,key=lambda feed: feed['name']) url = sys.argv[0]+'?action=trakt_addfeeds' common.createListItem('Add Feeds from trakt', True, url) for feed in myfeeds: url = sys.argv[0]+'?action=trakt_MovieGenres' common.createListItem(feed['name'], True, url) common.endofDir() elif(params['action'] == 'trakt_addfeeds'): myfeeds = furklib.myFeeds()['feeds'] shows = traktlib.getWatchlistShowsfromTrakt() progress = traktlib.getProgress() series = [] for current in progress: series.append(current['show']) shows = shows + series for show in shows: check = [feed for feed in myfeeds if feed['name'] == show['title']] if len(check)==0: furklib.addFeed(show['title']) url = sys.argv[0]+'?action=trakt_MovieGenres' common.createListItem(show['title'], False, '') common.endofDir() elif(params['action'] == 'trakt_RecommendedMovies'): try: genre = params['genre'] except: genre = None if genre: displayRecommendedMovies(genre) else : url = sys.argv[0]+'?action=trakt_MovieGenres' common.createListItem('Filter by Genre', True, url) displayRecommendedMovies(genre) elif(params['action'] == 'trakt_AddShowtoWatchlist'): tvdbid = params['tvdbid'] addShowtoWatchlist(tvdbid) elif(params['action'] == 'trakt_AddMovietoWatchlist'): imdbid = params['imdbid'] addMovietoWatchlist(imdbid) elif(params['action'] == 'trakt_RemoveMoviefromWatchlist'): imdbid = params['imdbid'] response = traktlib.removeMoviefromWatchlist(imdbid) common.traktResponse(response) elif(params['action'] == 'trakt_DismissShow'): tvdbid = params['tvdbid'] traktDismissShow(tvdbid) elif(params['action'] == 'trakt_SetShowSeen'): tvdbid = params['tvdbid'] try: season = params['season'] episode = params['episode'] except: season = 100 episode = 100 response = traktSeenShow(tvdbid,season,episode) elif(params['action'] == 'trakt_TrendingMovies'): movies = traktlib.getTrendingMoviesFromTrakt() for movie in movies: common.createMovieListItemTrakt(movie,totalItems = len(movies)) common.endofDir() elif(params['action'] == 'trakt_TrendingShows'): shows = traktlib.getTrendingShowsFromTrakt() progressShows = calculateProgress() for show in shows: if show['title'] in progressShows: common.createShowListItemTrakt(show,len(shows),progressShows[show['title']][0],progressShows[show['title']][1]) else: common.createShowListItemTrakt(show,totalItems = len(shows)) common.endofDir() elif(params['action'] == 'trakt_Progress'): displayProgress() elif(params['action'] == 'trakt_getList'): user=params['user'] slug=params['slug'] displayList(user,slug) else: common.Notification('Action Not found:' , params['action'])
def displayRecommendedMovies(genre): movies = traktlib.getRecommendedMoviesFromTrakt(genre) for movie in movies: common.createMovieListItemTrakt(movie,totalItems = len(movies)) common.endofDir() return