def HandleSelections(page=1): oc = ObjectContainer(title2=unicode(L('Selections'))) response = service.get_selections(page=page) for item in response['movies']: name = item['name'] if name != "Актёры и актрисы" and name != "Актеры и актрисы": new_params = { 'type': 'selection', 'id': item['path'], 'name': name, 'thumb': item['thumb'], } oc.add(DirectoryObject( key=Callback(HandleSelection, **new_params), title=plex_util.sanitize(name), thumb=plex_util.get_thumb(item['thumb']) )) pagination.append_controls(oc, response, callback=HandleSelections, page=page) return oc
def HandleGenres(): oc = ObjectContainer(title1=unicode(L("Genres"))) response = service.get_genres() for item in response: oc.add(DirectoryObject( key=Callback(HandleGenre, name=item['name'], id=item['path']), title=item['name'], thumb=plex_util.get_thumb(item['thumb']) )) return oc
def HandleGenres(): oc = ObjectContainer(title1=unicode(L("Genres"))) response = service.get_genres() for item in response: oc.add( DirectoryObject(key=Callback(HandleGenre, name=item['name'], id=item['path']), title=item['name'], thumb=plex_util.get_thumb(item['thumb']))) return oc
def HandleMovies(page=1): oc = ObjectContainer(title1=unicode(L("Movies"))) response = service.get_movies(page=page) for item in response['movies']: oc.add(DirectoryObject( key=Callback(HandleMovie, name=item['name'], id=item['path'], thumb=item['thumb']), title=item['name'], thumb=plex_util.get_thumb(item['thumb']) )) pagination.append_controls(oc, response, callback=HandleMovies, page=page) return oc
def HandleTags(name): oc = ObjectContainer(title2=unicode(L(name))) response = service.get_tags() for item in response: name = item['name'] thumb = item['thumb'] new_params = {'id': item['path'], 'title': item['name']} oc.add( DirectoryObject(key=Callback(HandleMovies, **new_params), title=plex_util.sanitize(name), thumb=plex_util.get_thumb(thumb))) return oc
def HandleMovies(page=1): oc = ObjectContainer(title1=unicode(L("Movies"))) response = service.get_movies(page=page) for item in response['movies']: oc.add( DirectoryObject(key=Callback(HandleMovie, name=item['name'], id=item['path'], thumb=item['thumb']), title=item['name'], thumb=plex_util.get_thumb(item['thumb']))) pagination.append_controls(oc, response, callback=HandleMovies, page=page) return oc
def HandleMovie(operation=None, container=False, **params): oc = ObjectContainer(title1=unicode(params['name'])) media_info = MediaInfo(**params) service.queue.handle_bookmark_operation(operation, media_info) response = service.get_movie(params['id']) if response['thumb']: thumb = response['thumb'] else: thumb = params['thumb'] name = response['name'] urls = response['urls'] urls_length = len(urls) for index, url in enumerate(urls): if urls_length > 1: url_name = str(index+1) + "-" + name else: url_name = name oc.add(VideoClipObject( url=url, thumb=plex_util.get_thumb(thumb), title=unicode(L(url_name)) )) #oc.add(MetadataObjectForURL2(media_info=media_info, url_items=url_items, handler=HandleMovie, player=PlayVideo)) # if 'trailer_url' in response: # oc.add(VideoClipObject( # url=response['trailer_url'], # thumb=plex_util.get_thumb(thumb), # title=unicode(L("Watch Trailer")) # )) if str(container) == 'False': history.push_to_history(Data, media_info) service.queue.append_bookmark_controls(oc, HandleMovie, media_info) return oc
def HandleMovie(operation=None, container=False, **params): oc = ObjectContainer(title1=unicode(params['name'])) media_info = MediaInfo(**params) service.queue.handle_bookmark_operation(operation, media_info) response = service.get_movie(params['id']) if response['thumb']: thumb = response['thumb'] else: thumb = params['thumb'] name = response['name'] urls = response['urls'] urls_length = len(urls) for index, url in enumerate(urls): if urls_length > 1: url_name = str(index + 1) + "-" + name else: url_name = name oc.add( VideoClipObject(url=url, thumb=plex_util.get_thumb(thumb), title=unicode(L(url_name)))) #oc.add(MetadataObjectForURL2(media_info=media_info, url_items=url_items, handler=HandleMovie, player=PlayVideo)) # if 'trailer_url' in response: # oc.add(VideoClipObject( # url=response['trailer_url'], # thumb=plex_util.get_thumb(thumb), # title=unicode(L("Watch Trailer")) # )) if str(container) == 'False': history.push_to_history(Data, media_info) service.queue.append_bookmark_controls(oc, HandleMovie, media_info) return oc
def HandleSeason(operation=None, container=False, **params): oc = ObjectContainer(title2=unicode(params['name'])) media_info = MediaInfo(**params) service.queue.handle_bookmark_operation(operation, media_info) if not params['episodes']: playlist_url = service.get_serie_playlist_url(params['id']) serie_info = service.get_serie_info(playlist_url) list = serie_info[int(params['season']) - 1]['playlist'] else: list = json.loads(params['episodes']) for index, episode in enumerate(list): episode_name = episode['comment'].replace('<br>', ' ') thumb = params['thumb'] url = episode['file'] new_params = { 'type': 'episode', 'id': json.dumps(url), 'name': episode_name, 'serieName': params['serieName'], 'thumb': thumb, 'season': params['season'], 'episode': episode, 'episodeNumber': index + 1 } key = Callback(HandleEpisode, container=container, **new_params) oc.add( DirectoryObject(key=key, title=unicode(episode_name), thumb=plex_util.get_thumb(thumb))) if str(container) == 'False': history.push_to_history(Data, media_info) service.queue.append_bookmark_controls(oc, HandleSeason, media_info) return oc
def HandleLatest(page=1): oc = ObjectContainer(title1=unicode(L("Latest"))) response = service.get_latest(page=page) for item in response['movies']: new_params = { # "isSerie": True, "name": item['name'], "id": item['path'], "thumb": item['thumb'] } oc.add( DirectoryObject(key=Callback(HandleMovie, **new_params), title=item['name'], thumb=plex_util.get_thumb(item['thumb']))) pagination.append_controls(oc, response, callback=HandleLatest, page=page) return oc
def HandleSeries(page=1): oc = ObjectContainer(title1=unicode(L("Series"))) response = service.get_series(page=page) for item in response['movies']: new_params = { 'type': 'serie', 'name': item['name'], 'id': item['path'], 'thumb': item['thumb'] } oc.add( DirectoryObject(key=Callback(HandleSerie, **new_params), title=item['name'], thumb=plex_util.get_thumb(item['thumb']))) pagination.append_controls(oc, response, callback=HandleSeries, page=page) return oc
def HandleLatest(page=1): oc = ObjectContainer(title1=unicode(L("Latest"))) response = service.get_latest(page=page) for item in response['movies']: new_params = { # "isSerie": True, "name": item['name'], "id": item['path'], "thumb": item['thumb'] } oc.add(DirectoryObject( key=Callback(HandleMovie, **new_params), title=item['name'], thumb=plex_util.get_thumb(item['thumb']) )) pagination.append_controls(oc, response, callback=HandleLatest, page=page) return oc
def HandleSeries(page=1): oc = ObjectContainer(title1=unicode(L("Series"))) response = service.get_series(page=page) for item in response['movies']: new_params = { 'type': 'serie', 'name': item['name'], 'id': item['path'], 'thumb': item['thumb'] } oc.add(DirectoryObject( key=Callback(HandleSerie, **new_params), title=item['name'], thumb=plex_util.get_thumb(item['thumb']) )) pagination.append_controls(oc, response, callback=HandleSeries, page=page) return oc
def HandleSoundtrack(operation=None, container=False, **params): oc = ObjectContainer(title2=unicode(params['name'])) media_info = MediaInfo(**params) service.queue.handle_bookmark_operation(operation, media_info) albums = service.get_albums(params['id']) albums_count = len(albums) for index, album in enumerate(albums): prefix = str(index + 1) + ". " if albums_count > 1 else "" album_name = prefix + album['name'] thumb = album['thumb'] artist = album['composer'] tracks = album['tracks'] new_params = { 'type': 'tracks', 'name': album_name, 'artist': artist, 'tracks': json.dumps(tracks) } oc.add(DirectoryObject( key=Callback(HandleTracks, **new_params), title=plex_util.sanitize(album_name), thumb=plex_util.get_thumb(thumb) )) if str(container) == 'False': history.push_to_history(Data, media_info) service.queue.append_bookmark_controls(oc, HandleSoundtrack, media_info) return oc
def HandleSearch(query=None, page=1): oc = ObjectContainer(title2=unicode(L('Search'))) response = service.search(query=query, page=page) for movie in response['movies']: name = movie['name'] thumb = movie['thumb'] new_params = { 'id': movie['path'], 'title': name, 'name': name, 'thumb': thumb } oc.add(DirectoryObject( key=Callback(HandleMovieOrSerie, **new_params), title=unicode(name), thumb=plex_util.get_thumb(thumb) )) pagination.append_controls(oc, response, callback=HandleSearch, query=query, page=page) return oc
def HandleSerie(operation=None, **params): oc = ObjectContainer(title2=unicode(params['name'])) media_info = MediaInfo(**params) service.queue.handle_bookmark_operation(operation, media_info) playlist_url = service.get_serie_playlist_url(params['id']) serie_info = service.get_serie_info(playlist_url) for index, item in enumerate(serie_info): season = index + 1 season_name = item['comment'].replace('<b>', '').replace('</b>', '') episodes = item['playlist'] rating_key = service.get_episode_url(params['id'], season, 0) new_params = { 'type': 'season', 'id': params['id'], 'serieName': params['name'], 'name': season_name, 'thumb': params['thumb'], 'season': season, 'episodes': json.dumps(episodes) } oc.add( SeasonObject(key=Callback(HandleSeason, **new_params), rating_key=rating_key, title=plex_util.sanitize(season_name), index=int(season), thumb=plex_util.get_thumb(params['thumb']))) service.queue.append_bookmark_controls(oc, HandleSerie, media_info) return oc
def HandleMovies(path, title, page=1): oc = ObjectContainer(title2=unicode(L(title))) response = service.get_movies(path=path, page=page) for item in response['movies']: name = item['name'] thumb = item['thumb'] new_params = { 'type': "movie", 'id' :item['path'], 'name': item['name'], 'thumb': item['thumb'] } oc.add(DirectoryObject( key=Callback(HandleMovie, **new_params), title=plex_util.sanitize(name), thumb=plex_util.get_thumb(thumb) )) pagination.append_controls(oc, response, callback=HandleMovies, path=path, title=title, page=page) return oc