Пример #1
0
def showWidgets():

    url = ("{server}/emby/Movies/Recommendations" +
           "?userId={userid}" +
           "&categoryLimit=1" +
           "&ItemLimit={ItemLimit}" +
           "&format=json" +
           "&ImageTypeLimit=1" +
           "&IsMissing=False")
    addMenuDirectoryItem(i18n('movies_recommendations'),
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&media_type=Movies&url=" + urllib.quote(url))

    url = ("{server}/emby/Users/{userid}/Items" +
           "?Limit={ItemLimit}" +
           "&format=json" +
           "&ImageTypeLimit=1" +
           "&IsMissing=False" +
           "&Filters={IsUnplayed,}IsNotFolder" +
           "&Recursive=true" +
           "&SortBy=Random" +
           "&SortOrder=Descending" +
           "&IsVirtualUnaired=false" +
           "&IsMissing=False" +
           "&IncludeItemTypes=Movie")
    addMenuDirectoryItem(i18n('movies_random'),
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&media_type=Movies&url=" + urllib.quote(url))

    #addMenuDirectoryItem(i18n('movies_recently_added'), 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_movies')
    #addMenuDirectoryItem(i18n('movies_in_progress'), 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_movies')
    #addMenuDirectoryItem(i18n('episodes_recently_added'), 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_episodes')
    #addMenuDirectoryItem(i18n('episodes_in_progress'), 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_episodes')
    #addMenuDirectoryItem(i18n('episodes_up_next'), 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=nextup_episodes')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #2
0
def showSearch():
    addMenuDirectoryItem(i18n('movies'), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Movie')
    addMenuDirectoryItem(i18n('tvshows'), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Series')
    addMenuDirectoryItem(i18n('episodes'), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Episode')
    addMenuDirectoryItem("Song", 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Audio')
    addMenuDirectoryItem("Album", 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=MusicAlbum')
    #addMenuDirectoryItem("Artist", 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=MusicArtists')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #3
0
def showYearsList():

    server = downloadUtils.getServer()
    if server is None:
        return

    jsonData = downloadUtils.downloadUrl("{server}/emby/Years" +
                                         "?SortBy=Name" +
                                         "&SortOrder=Descending" +
                                         "&IncludeItemTypes=Movie" +
                                         "&Recursive=true" +
                                         "&UserId={userid}" +
                                         "&format=json")
    log.debug("YEAR_LIST_DATA: {0}", jsonData)

    result = json.loads(jsonData)
    if result is not None:
        result = result.get("Items")
    else:
        result = []

    collections = []

    for year in result:
        item_data = {}
        item_data['title'] = year.get("Name")
        item_data['media_type'] = "Movies"
        item_data['path'] = ('{server}/emby/Users/{userid}/Items'
                             '?Fields={field_filters}' +
                             '&Recursive=true' +
                             '&Years=' + year.get("Name") +
                             '&IncludeItemTypes=Movie' +
                             '&ImageTypeLimit=1' +
                             "&SortBy=Name" +
                             "&SortOrder=Ascending" +
                             '&format=json')
        collections.append(item_data)

    for collection in collections:
        url = sys.argv[0] + ("?url=" + urllib.quote(collection['path']) +
                             "&mode=GET_CONTENT" +
                             "&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} ({1})", collection.get('title'), url)
        addMenuDirectoryItem(collection.get('title', i18n('unknown')), url)

    xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_LABEL)
    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #4
0
def showMovieAlphaList():
    log.debug("== ENTER: showMovieAlphaList() ==")

    settings = xbmcaddon.Addon()
    server = downloadUtils.getServer()
    if server is None:
        return

    collections = []

    item_data = {}
    item_data['title'] = "#"
    item_data['media_type'] = "Movies"
    item_data['path'] = ('{server}/emby/Users/{userid}/Items' +
                         '?Fields={field_filters}' +
                         '&Recursive=true' +
                         '&NameLessThan=A' +
                         '&IncludeItemTypes=Movie' +
                         '&ImageTypeLimit=1' +
                         '&format=json')
    collections.append(item_data)

    alphaList = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "Y", "Z"]

    for alphaName in alphaList:
        item_data = {}
        item_data['title'] = alphaName
        item_data['media_type'] = "Movies"
        item_data['path'] = ('{server}/emby/Users/{userid}/Items' +
                             '?Fields={field_filters}' +
                             '&Recursive=true' +
                             '&NameStartsWith=' + alphaName +
                             '&IncludeItemTypes=Movie' +
                             "&SortBy=Name" +
                             "&SortOrder=Ascending" +
                             '&ImageTypeLimit=1&format=json')
        collections.append(item_data)

    for collection in collections:
        url = (sys.argv[0] + "?url=" + urllib.quote(collection['path']) +
               "&mode=GET_CONTENT&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} ({1})", collection.get('title'), url)
        addMenuDirectoryItem(collection.get('title', i18n('unknown')), url)

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def showSearch():
    addMenuDirectoryItem(
        i18n('movies'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Movie')
    addMenuDirectoryItem(
        i18n('tvshows'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Series')
    addMenuDirectoryItem(
        i18n('episodes'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Episode')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #6
0
def showWidgets():

    settings = xbmcaddon.Addon()
    show_x_filtered_items = settings.getSetting("show_x_filtered_items")

    url = ("{server}/emby/Movies/Recommendations" +
           "?userId={userid}" +
           "&categoryLimit=1" +
           "&ItemLimit={ItemLimit}" +
           "&format=json" +
           "&ImageTypeLimit=1" +
           '&Fields={field_filters}' +
           "&Filters={IsUnplayed}" +
           "&IsMissing=False")
    addMenuDirectoryItem(string_load(30324) + " (" + show_x_filtered_items + ")",
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&use_cache=false&media_type=Movies&url=" + urllib.quote(url))

    url = ("{server}/emby/Users/{userid}/Items" +
           "?SortBy=Random" +
           "&Limit={ItemLimit}" +
           '&CollapseBoxSetItems=false' +
           '&GroupItemsIntoCollections=false' +
           "&format=json" +
           '&Fields={field_filters}' +
           "&ImageTypeLimit=1" +
           "&IsMissing=False" +
           "&Filters={IsUnplayed,}IsNotFolder" +
           "&Recursive=true" +
           "&SortBy=Random" +
           #"&SortOrder=Descending" +
           "&IsVirtualUnaired=false" +
           "&IsMissing=False" +
           "&IncludeItemTypes=Movie")
    addMenuDirectoryItem(string_load(30269) + " (" + show_x_filtered_items + ")",
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&use_cache=false&media_type=Movies&url=" + urllib.quote(url))

    addMenuDirectoryItem(string_load(30257) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_movies')
    addMenuDirectoryItem(string_load(30258) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_movies')
    addMenuDirectoryItem(string_load(30287) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_tvshows')
    addMenuDirectoryItem(string_load(30263) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_episodes')
    addMenuDirectoryItem(string_load(30264) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_episodes')
    addMenuDirectoryItem(string_load(30265) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=nextup_episodes')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def displaySections():
    log.debug("== ENTER: displaySections() ==")
    xbmcplugin.setContent(int(sys.argv[1]), 'files')

    server = downloadUtils.getServer()
    if server is None:
        return

    # Add collections
    collections = getCollections()

    if collections:
        for collection in collections:
            if collection.get("item_type") == "plugin_link":
                plugin_path = collection['path']
                addMenuDirectoryItem(collection.get('title', i18n('unknown')),
                                     plugin_path,
                                     thumbnail=collection.get("thumbnail"))
            else:
                url = (sys.argv[0] + "?url=" +
                       urllib.quote(collection['path']) +
                       "&mode=GET_CONTENT&media_type=" +
                       collection["media_type"])
                if collection.get("name_format") is not None:
                    url += "&name_format=" + urllib.quote(
                        collection.get("name_format"))
                log.debug("addMenuDirectoryItem: {0} ({1})",
                          collection.get('title'), url)
                addMenuDirectoryItem(collection.get('title', i18n('unknown')),
                                     url,
                                     thumbnail=collection.get("thumbnail"))

        addMenuDirectoryItem(
            i18n('movies_year'),
            "plugin://plugin.video.embycon/?mode=MOVIE_YEARS")
        addMenuDirectoryItem(
            i18n('movies_genre'),
            "plugin://plugin.video.embycon/?mode=GENRES&item_type=movie")
        addMenuDirectoryItem(
            i18n('movies_az'),
            "plugin://plugin.video.embycon/?mode=MOVIE_ALPHA")
        addMenuDirectoryItem(
            i18n('tvshow_genre'),
            "plugin://plugin.video.embycon/?mode=GENRES&item_type=tvshow")
        addMenuDirectoryItem(i18n('search'),
                             "plugin://plugin.video.embycon/?mode=SEARCH")

        addMenuDirectoryItem(
            i18n('show_clients'),
            "plugin://plugin.video.embycon/?mode=SHOW_SERVER_SESSIONS")
        addMenuDirectoryItem(
            i18n('change_user'),
            "plugin://plugin.video.embycon/?mode=CHANGE_USER")

    addMenuDirectoryItem(
        i18n('detect_server'),
        "plugin://plugin.video.embycon/?mode=DETECT_SERVER_USER")
    addMenuDirectoryItem(i18n('show_settings'),
                         "plugin://plugin.video.embycon/?mode=SHOW_SETTINGS")

    # only add these if we have other collection which means we have a valid server conn
    if collections:
        addMenuDirectoryItem(
            i18n('cache_textures'),
            "plugin://plugin.video.embycon/?mode=CACHE_ARTWORK")
        addMenuDirectoryItem(i18n('widgets'),
                             "plugin://plugin.video.embycon/?mode=WIDGETS")

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def showGenreList(params):
    log.debug("showGenreList: {0}", params)

    server = downloadUtils.getServer()
    if server is None:
        return

    parent_id = params.get("parent_id")
    item_type = params.get("item_type")

    kodi_type = "Movies"
    emby_type = "Movie"
    if item_type is not None and item_type == "tvshow":
        emby_type = "Series"
        kodi_type = "tvshows"

    url = ("{server}/emby/Genres?" + "SortBy=SortName" +
           "&SortOrder=Ascending" + "&IncludeItemTypes=" + emby_type +
           "&Recursive=true" + "&UserId={userid}")

    if parent_id is not None:
        url += "&parentid=" + parent_id

    data_manager = DataManager()
    result = data_manager.GetContent(url)

    if result is not None:
        result = result.get("Items")
    else:
        result = []

    collections = []
    xbmcplugin.setContent(int(sys.argv[1]), 'genres')

    for genre in result:
        item_data = {}
        item_data['title'] = genre.get("Name")
        item_data['media_type'] = kodi_type
        item_data['thumbnail'] = downloadUtils.getArtwork(genre,
                                                          "Primary",
                                                          server=server)

        url = ("{server}/emby/Users/{userid}/Items" +
               "?Fields={field_filters}" + "&Recursive=true" + "&GenreIds=" +
               genre.get("Id") + "&IncludeItemTypes=" + emby_type +
               "&ImageTypeLimit=1")

        if parent_id is not None:
            url += "&parentid=" + parent_id

        item_data['path'] = url
        collections.append(item_data)

    for collection in collections:
        url = sys.argv[0] + ("?url=" + urllib.quote(collection['path']) +
                             "&mode=GET_CONTENT" + "&media_type=" +
                             collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} - {1} - {2}",
                  collection.get('title'), url, collection.get("thumbnail"))
        addMenuDirectoryItem(collection.get('title', i18n('unknown')),
                             url,
                             thumbnail=collection.get("thumbnail"))

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def showMoviePages(params):
    log.debug("showMoviePages: {0}", params)

    parent_id = params.get("parent_id")
    settings = xbmcaddon.Addon()

    group_movies = settings.getSetting('group_movies') == "true"

    url = ('{server}/emby/Users/{userid}/Items' +
           '?IsVirtualUnaired=false' +
           '&CollapseBoxSetItems=' + str(group_movies) +
           '&GroupItemsIntoCollections=' + str(group_movies) +
           '&Recursive=true' +
           "&IncludeItemTypes=Movie"
           '&IsMissing=False' +
           '&ImageTypeLimit=0' +
           '&format=json')

    if parent_id:
        url += "&ParentId=" + parent_id

    data_manager = DataManager()
    result = data_manager.GetContent(url)

    if result is None:
        return

    total_results = result.get("TotalRecordCount", 0)
    log.debug("showMoviePages TotalRecordCount {0}", total_results)

    if result == 0:
        return

    page_limit = int(settings.getSetting('moviePageSize'))
    if page_limit == 0:
        page_limit = 20

    start_index = 0
    collections = []

    while start_index < total_results:

        item_url = ("{server}/emby/Users/{userid}/Items" +
                    "?IsVirtualUnaired=false" +
                    '&CollapseBoxSetItems=' + str(group_movies) +
                    '&GroupItemsIntoCollections=' + str(group_movies) +
                    "&Recursive=true" +
                    "&IsMissing=False" +
                    "&IncludeItemTypes=Movie"
                    "&Fields={field_filters}" +
                    "&ImageTypeLimit=1" +
                    "&SortBy=Name" +
                    "&SortOrder=Ascending" +
                    "&format=json")

        if parent_id:
            item_url += "&ParentId=" + parent_id

        item_url += "&StartIndex=" + str(start_index) + "&Limit=" + str(page_limit)

        page_upper = start_index + page_limit
        if page_upper > total_results:
            page_upper = total_results

        item_data = {}
        item_data['title'] = "Page (" + str(start_index + 1) + " - " + str(page_upper) + ")"
        item_data['path'] = item_url
        item_data['media_type'] = 'movies'

        collections.append(item_data)
        start_index = start_index + page_limit

    for collection in collections:
        content_url = urllib.quote(collection['path'])
        url = sys.argv[0] + ("?url=" + content_url +
                             "&mode=GET_CONTENT" +
                             "&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} - {1} - {2}", collection.get('title'), url, collection.get("art"))
        addMenuDirectoryItem(collection.get('title', string_load(30250)), url, art=collection.get("art"))

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def displaySections():
    log.debug("== ENTER: displaySections() ==")
    xbmcplugin.setContent(int(sys.argv[1]), 'files')

    server = downloadUtils.getServer()
    if server is None:
        return

    # Add collections
    collections = getCollections()

    if collections:
        for collection in collections:
            if collection.get("item_type") == "plugin_link":
                plugin_path = collection['path']
                addMenuDirectoryItem(collection.get('title', string_load(30250)),
                                     plugin_path,
                                     art=collection.get("art"))
            else:
                url = (sys.argv[0] + "?url=" + urllib.quote(collection['path']) +
                       "&mode=GET_CONTENT&media_type=" + collection["media_type"])
                if collection.get("name_format") is not None:
                    url += "&name_format=" + urllib.quote(collection.get("name_format"))
                if not collection.get("use_cache", True):
                    url += "&use_cache=false"
                log.debug("addMenuDirectoryItem: {0} ({1})", collection.get('title'), url)
                addMenuDirectoryItem(collection.get('title', string_load(30250)),
                                     url,
                                     art=collection.get("art"))

        addMenuDirectoryItem(string_load(30251), "plugin://plugin.video.embycon/?mode=GENRES&item_type=movie")
        addMenuDirectoryItem(string_load(30252), "plugin://plugin.video.embycon/?mode=MOVIE_ALPHA")
        addMenuDirectoryItem("Movie (Pages)", "plugin://plugin.video.embycon/?mode=MOVIE_PAGES")

        addMenuDirectoryItem(string_load(30289), "plugin://plugin.video.embycon/?mode=GENRES&item_type=tvshow")
        addMenuDirectoryItem(string_load(30246), "plugin://plugin.video.embycon/?mode=SEARCH")

        addMenuDirectoryItem(string_load(30017), "plugin://plugin.video.embycon/?mode=SHOW_SERVER_SESSIONS")
        addMenuDirectoryItem(string_load(30253), "plugin://plugin.video.embycon/?mode=CHANGE_USER")

    addMenuDirectoryItem(string_load(30011), "plugin://plugin.video.embycon/?mode=DETECT_SERVER_USER")
    addMenuDirectoryItem(string_load(30254), "plugin://plugin.video.embycon/?mode=SHOW_SETTINGS")

    # only add these if we have other collection which means we have a valid server conn
    if collections:
        addMenuDirectoryItem(string_load(30293), "plugin://plugin.video.embycon/?mode=CACHE_ARTWORK")
        addMenuDirectoryItem(string_load(30247), "plugin://plugin.video.embycon/?mode=WIDGETS")

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def showGenreList(params):
    log.debug("showGenreList: {0}", params)

    server = downloadUtils.getServer()
    if server is None:
        return

    parent_id = params.get("parent_id")
    item_type = params.get("item_type")

    kodi_type = "Movies"
    emby_type = "Movie"
    if item_type is not None and item_type == "tvshow":
        emby_type = "Series"
        kodi_type = "tvshows"

    url = ("{server}/emby/Genres?" +
           "SortBy=Name" +
           "&SortOrder=Ascending" +
           "&IncludeItemTypes=" + emby_type +
           "&Recursive=true" +
           "&UserId={userid}")

    if parent_id is not None:
        url += "&parentid=" + parent_id

    data_manager = DataManager()
    result = data_manager.GetContent(url)

    if result is not None:
        result = result.get("Items")
    else:
        result = []

    settings = xbmcaddon.Addon()
    group_movies = settings.getSetting('group_movies') == "true"

    collections = []
    xbmcplugin.setContent(int(sys.argv[1]), 'genres')

    for genre in result:
        art = getArt(item=genre, server=server)
        item_data = {}
        item_data['title'] = genre.get("Name")
        item_data['media_type'] = kodi_type
        item_data['art'] = art

        url = ("{server}/emby/Users/{userid}/Items" +
               "?Fields={field_filters}" +
               "&Recursive=true" +
               '&CollapseBoxSetItems=' + str(group_movies) +
               '&GroupItemsIntoCollections=' + str(group_movies) +
               "&GenreIds=" + genre.get("Id") +
               "&IncludeItemTypes=" + emby_type +
               "&ImageTypeLimit=1")

        if parent_id is not None:
            url += "&parentid=" + parent_id

        item_data['path'] = url
        collections.append(item_data)

    for collection in collections:
        url = sys.argv[0] + ("?url=" + urllib.quote(collection['path']) +
                             "&mode=GET_CONTENT" +
                             "&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} - {1} - {2}", collection.get('title'), url, collection.get("art"))
        addMenuDirectoryItem(collection.get('title', string_load(30250)), url, art=collection.get("art"))

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def show_search():
    addMenuDirectoryItem(string_load(30231), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Movie')
    addMenuDirectoryItem(string_load(30229), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Series')
    addMenuDirectoryItem(string_load(30235), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Episode')
    addMenuDirectoryItem(string_load(30337), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Audio')
    addMenuDirectoryItem(string_load(30338), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=MusicAlbum')
    addMenuDirectoryItem(string_load(30339), 'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Person')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def showWidgets():

    settings = xbmcaddon.Addon()
    show_x_filtered_items = settings.getSetting("show_x_filtered_items")

    url = ("{server}/emby/Movies/Recommendations" +
           "?userId={userid}" +
           "&categoryLimit=1" +
           "&ItemLimit={ItemLimit}" +
           "&format=json" +
           "&ImageTypeLimit=1" +
           "&Fields={field_filters}" +
           "&Filters=IsUnplayed" +
           "&IsPlayed=false" +
           "&IsMissing=False")
    addMenuDirectoryItem(string_load(30324) + " (" + show_x_filtered_items + ")",
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&use_cache=false&media_type=Movies&url=" + urllib.quote(url))

    url = ("{server}/emby/Users/{userid}/Items" +
           "?Limit={ItemLimit}" +
           "&Ids={random_movies}" +
           "&Fields={field_filters}" +
           "&ImageTypeLimit=1")
    addMenuDirectoryItem(string_load(30269) + " (" + show_x_filtered_items + ")",
                         "plugin://plugin.video.embycon/?mode=GET_CONTENT&use_cache=false&media_type=Movies&url=" + urllib.quote(url))

    addMenuDirectoryItem(" - " + string_load(30257) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_movies')
    addMenuDirectoryItem(" - " + string_load(30258) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_movies')
    addMenuDirectoryItem(" - " + string_load(30269) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=random_movies')

    addMenuDirectoryItem(" - " + string_load(30287) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_tvshows')
    addMenuDirectoryItem(" - " + string_load(30263) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=recent_episodes')
    addMenuDirectoryItem(" - " + string_load(30264) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=inprogress_episodes')
    addMenuDirectoryItem(" - " + string_load(30265) + " (" + show_x_filtered_items + ")", 'plugin://plugin.video.embycon/?mode=WIDGET_CONTENT&type=nextup_episodes')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #14
0
def show_search():
    addMenuDirectoryItem(
        i18n('movies'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Movie')
    addMenuDirectoryItem(
        i18n('tvshows'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Series')
    addMenuDirectoryItem(
        i18n('episodes'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Episode')
    addMenuDirectoryItem(
        i18n('song'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Audio')
    addMenuDirectoryItem(
        i18n('album'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=MusicAlbum')
    addMenuDirectoryItem(
        i18n('person'),
        'plugin://plugin.video.embycon/?mode=NEW_SEARCH&item_type=Person')

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #15
0
def showGenreList(params):
    log.debug("showGenreList: {0}", params)

    server = downloadUtils.getServer()
    if server is None:
        return

    parent_id = params.get("parent_id")
    item_type = params.get("item_type")

    kodi_type = "Movies"
    emby_type = "Movie"
    if item_type is not None and item_type == "tvshow":
        emby_type = "Series"
        kodi_type = "tvshows"

    url = ("{server}/emby/Genres?" +
           "SortBy=Name" +
           "&SortOrder=Ascending" +
           "&IncludeItemTypes=" + emby_type +
           "&Recursive=true" +
           "&UserId={userid}")

    if parent_id is not None:
        url += "&parentid=" + parent_id

    data_manager = DataManager()
    result = data_manager.GetContent(url)

    if result is not None:
        result = result.get("Items")
    else:
        result = []

    collections = []
    xbmcplugin.setContent(int(sys.argv[1]), 'genres')

    for genre in result:
        art = getArt(item=genre, server=server)
        item_data = {}
        item_data['title'] = genre.get("Name")
        item_data['media_type'] = kodi_type
        item_data['art'] = art

        url = ("{server}/emby/Users/{userid}/Items" +
               "?Fields={field_filters}" +
               "&Recursive=true" +
               "&GenreIds=" + genre.get("Id") +
               "&IncludeItemTypes=" + emby_type +
               "&ImageTypeLimit=1")

        if parent_id is not None:
            url += "&parentid=" + parent_id

        item_data['path'] = url
        collections.append(item_data)

    for collection in collections:
        url = sys.argv[0] + ("?url=" + urllib.quote(collection['path']) +
                             "&mode=GET_CONTENT" +
                             "&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} - {1} - {2}", collection.get('title'), url, collection.get("art"))
        addMenuDirectoryItem(collection.get('title', i18n('unknown')), url, art=collection.get("art"))

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #16
0
def displaySections():
    log.debug("== ENTER: displaySections() ==")
    xbmcplugin.setContent(int(sys.argv[1]), 'files')

    server = downloadUtils.getServer()
    if server is None:
        return

    # Add collections
    collections = getCollections()

    if collections:
        for collection in collections:
            if collection.get("item_type") == "plugin_link":
                plugin_path = collection['path']
                addMenuDirectoryItem(collection.get('title', i18n('unknown')),
                                     plugin_path,
                                     art=collection.get("art"))
            else:
                url = (sys.argv[0] + "?url=" + urllib.quote(collection['path']) +
                       "&mode=GET_CONTENT&media_type=" + collection["media_type"])
                if collection.get("name_format") is not None:
                    url += "&name_format=" + urllib.quote(collection.get("name_format"))
                log.debug("addMenuDirectoryItem: {0} ({1})", collection.get('title'), url)
                addMenuDirectoryItem(collection.get('title', i18n('unknown')),
                                     url,
                                     art=collection.get("art"))

        addMenuDirectoryItem(i18n('movies_year'), "plugin://plugin.video.embycon/?mode=MOVIE_YEARS")
        addMenuDirectoryItem(i18n('movies_genre'), "plugin://plugin.video.embycon/?mode=GENRES&item_type=movie")
        addMenuDirectoryItem(i18n('movies_az'), "plugin://plugin.video.embycon/?mode=MOVIE_ALPHA")
        addMenuDirectoryItem("Movie (Pages)", "plugin://plugin.video.embycon/?mode=MOVIE_PAGES")

        addMenuDirectoryItem(i18n('tvshow_genre'), "plugin://plugin.video.embycon/?mode=GENRES&item_type=tvshow")
        addMenuDirectoryItem(i18n('search'), "plugin://plugin.video.embycon/?mode=SEARCH")

        addMenuDirectoryItem(i18n('show_clients'), "plugin://plugin.video.embycon/?mode=SHOW_SERVER_SESSIONS")
        addMenuDirectoryItem(i18n('change_user'), "plugin://plugin.video.embycon/?mode=CHANGE_USER")

    addMenuDirectoryItem(i18n('detect_server'), "plugin://plugin.video.embycon/?mode=DETECT_SERVER_USER")
    addMenuDirectoryItem(i18n('show_settings'), "plugin://plugin.video.embycon/?mode=SHOW_SETTINGS")

    # only add these if we have other collection which means we have a valid server conn
    if collections:
        addMenuDirectoryItem(i18n('cache_textures'), "plugin://plugin.video.embycon/?mode=CACHE_ARTWORK")
        addMenuDirectoryItem(i18n('widgets'), "plugin://plugin.video.embycon/?mode=WIDGETS")

    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Пример #17
0
def showMoviePages(params):
    log.debug("showMoviePages: {0}", params)

    parent_id = params.get("parent_id")

    url = ('{server}/emby/Users/{userid}/Items' +
           '?IsVirtualUnaired=false' +
           '&CollapseBoxSetItems=true' +
           '&Recursive=true' +
           "&IncludeItemTypes=Movie"
           '&IsMissing=False' +
           '&ImageTypeLimit=0' +
           '&format=json')

    if parent_id:
        url += "&ParentId=" + parent_id

    data_manager = DataManager()
    result = data_manager.GetContent(url)

    if result is None:
        return

    total_results = result.get("TotalRecordCount", 0)
    log.debug("showMoviePages TotalRecordCount {0}", total_results)

    if result == 0:
        return

    settings = xbmcaddon.Addon()
    page_limit = int(settings.getSetting('moviePageSize'))
    if page_limit == 0:
        page_limit = 20

    start_index = 0
    collections = []

    while start_index < total_results:

        item_url = ("{server}/emby/Users/{userid}/Items" +
                    "?IsVirtualUnaired=false" +
                    "&CollapseBoxSetItems=true" +
                    "&Recursive=true" +
                    "&IsMissing=False" +
                    "&IncludeItemTypes=Movie"
                    "&Fields={field_filters}" +
                    "&ImageTypeLimit=1" +
                    "&SortBy=Name" +
                    "&SortOrder=Ascending" +
                    "&format=json")

        if parent_id:
            item_url += "&ParentId=" + parent_id

        item_url += "&StartIndex=" + str(start_index) + "&Limit=" + str(page_limit)

        page_upper = start_index + page_limit
        if page_upper > total_results:
            page_upper = total_results

        item_data = {}
        item_data['title'] = "Page (" + str(start_index + 1) + " - " + str(page_upper) + ")"
        item_data['path'] = item_url
        item_data['media_type'] = 'movies'

        collections.append(item_data)
        start_index = start_index + page_limit

    for collection in collections:
        content_url = urllib.quote(collection['path'])
        url = sys.argv[0] + ("?url=" + content_url +
                             "&mode=GET_CONTENT" +
                             "&media_type=" + collection["media_type"])
        log.debug("addMenuDirectoryItem: {0} - {1} - {2}", collection.get('title'), url, collection.get("art"))
        addMenuDirectoryItem(collection.get('title', i18n('unknown')), url, art=collection.get("art"))

    xbmcplugin.endOfDirectory(int(sys.argv[1]))