Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
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
Exemple #8
0
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
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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
Exemple #12
0
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
Exemple #13
0
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
Exemple #14
0
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
Exemple #15
0
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
Exemple #16
0
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
Exemple #17
0
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