Exemplo n.º 1
0
def season(name, url, thumb, series_name, series_id):
    entries = []
    cover_file, fanart_file = generic_utility.cover_fanart(series_id)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(url))
    u += '&mode=list_episodes'
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    entries.append((
        generic_utility.get_string(30150),
        'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)'
        % (generic_utility.addon_id, urllib.quote_plus(unicode(url)),
           urllib.quote_plus(generic_utility.encode(
               series_name.strip())), series_id)))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle,
                                                 url=u,
                                                 listitem=list_item,
                                                 isFolder=True)
    return directory_item
Exemplo n.º 2
0
def episodes_data(season, series_id):
    episodes = []

    content = series_info(series_id)
    content = json.loads(content)['video']['seasons']
    for test in content:
        episode_season = unicode(test['seq'])
        if episode_season == season:
            for item in test['episodes']:
                playcount = 0
                episode_id = item['episodeId']
                episode_nr = item['seq']
                episode_title = (unicode(episode_nr) + '. ' + item['title'])
                duration = item['runtime']
                offset = item['bookmark']['offset']
                if (duration > 0 and float(offset) / float(duration)) >= 0.9:
                    playcount = 1
                description = item['synopsis']
                try:
                    thumb = item['stills'][0]['url']
                except:
                    thumb = generic_utility.addon_fanart()
#                generic_utility.log('episode-title: '+episode_title)
                episode = series_id, episode_id, episode_title, description, episode_nr, season, duration, thumb, playcount
                episodes.append(episode)
    return episodes
Exemplo n.º 3
0
def episode(episode):
    series_id, episode_id, name, description, episode_nr, season_nr, duration, thumb, playcount = episode

    cover_file, fanart_file = generic_utility.cover_fanart(series_id)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(episode_id))
    u += '&mode=play_video_main'
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video',
                      infoLabels={
                          'title': name,
                          'plot': description,
                          'duration': duration,
                          'season': season_nr,
                          'episode': episode_nr,
                          'playcount': playcount
                      })
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle,
                                                 url=u,
                                                 listitem=list_item,
                                                 isFolder=False)
    return directory_item
Exemplo n.º 4
0
def directory(name, url, mode, thumb, type='', context_enable=True, login_context = False):
    entries = []
    name = generic_utility.unescape(name)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(url)
    u += '&mode=' + mode
    u += '&thumb=' + urllib.quote_plus(thumb)
    u += '&type=' + type
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if "/my-list" in url:
        entries.append(
            (generic_utility.get_string(30150), 'RunPlugin(plugin://%s/?mode=add_my_list_to_library)' % generic_utility.addon_id))
    list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    if context_enable:
        if login_context == True:
            entries.append(('Relogin',
                            'RunPlugin(plugin://%s/?mode=relogin)' % (
                                generic_utility.addon_id)))

        list_item.addContextMenuItems(entries)
    else:
        list_item.addContextMenuItems([], replaceItems=True)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True)
    return directory_item
Exemplo n.º 5
0
def directory(name,
              url,
              mode,
              thumb,
              type='',
              context_enable=True,
              login_context=False):
    entries = []
    name = generic_utility.unescape(name)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(url)
    u += '&mode=' + mode
    u += '&thumb=' + urllib.quote_plus(thumb)
    u += '&type=' + type
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if "/my-list" in url:
        entries.append((generic_utility.get_string(30150),
                        'RunPlugin(plugin://%s/?mode=add_my_list_to_library)' %
                        generic_utility.addon_id))
    list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    if context_enable:
        if login_context == True:
            entries.append(('Relogin', 'RunPlugin(plugin://%s/?mode=relogin)' %
                            (generic_utility.addon_id)))

        list_item.addContextMenuItems(entries)
    else:
        list_item.addContextMenuItems([], replaceItems=True)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle,
                                                 url=u,
                                                 listitem=list_item,
                                                 isFolder=True)
    return directory_item
Exemplo n.º 6
0
def extract_thumb_url(match):
    try:
        thumb_url = match['boxarts']['_665x375']['jpg']['url']
    except Exception:
        try:
            thumb_url = match['boxarts']['_342x192']['jpg']['url']
        except Exception:
            thumb_url = generic_utility.addon_fanart()
    return thumb_url
Exemplo n.º 7
0
def extract_thumb_url(match):
    try:
        thumb_url = match['boxarts']['_665x375']['jpg']['url']
    except Exception:
        try:
            thumb_url = match['boxarts']['_342x192']['jpg']['url']
        except Exception:
            thumb_url = generic_utility.addon_fanart()
    return thumb_url
Exemplo n.º 8
0
def episodes_data(season, series_id):
    episodes = []
    content = series_info(series_id)
    tvshow = json.loads(content)['video']
    seasons = tvshow.get('seasons')
    tvshowyear = None
    if tvshow.get("boxart"):
        seriesthumb = tvshow.get("boxart")[0].get("url")
    else:
        seriesthumb = ""

    for item in seasons:
        episode_season = unicode(item['seq'])
        if not tvshowyear: tvshowyear = item.get("year")
        if episode_season == season:
            for item in item['episodes']:
                playcount = 0
                episode_id = item['episodeId']
                episode_nr = item['seq']
                episode_title = item['title']
                duration = item['runtime']
                offset = item['bookmark']['offset']
                if (duration > 0 and float(offset) / float(duration)) >= 0.9:
                    playcount = 1
                description = item['synopsis']
                try:
                    thumb = item['stills'][0]['url']
                except:
                    thumb = generic_utility.addon_fanart()
                episode = {
                    "series_id": series_id,
                    "episode_id": episode_id,
                    "episode_title": episode_title,
                    "description": description,
                    "episode_nr": int(episode_nr),
                    "season": int(season),
                    "duration": duration,
                    "thumb": thumb,
                    "seriesthumb": seriesthumb,
                    "hd": item.get("hd", False),
                    "playcount": playcount,
                    "tvshowtitle": tvshow.get('title'),
                    "tvshowyear": tvshowyear,
                    "tvshowgenre": "Series"
                }
                episodes.append(episode)
    return episodes
Exemplo n.º 9
0
def episodes_data(season, series_id):
    episodes = []
    content = series_info(series_id)
    tvshow = json.loads(content)['video']
    seasons = tvshow.get('seasons')
    tvshowyear = None
    if tvshow.get("boxart"):
        seriesthumb = tvshow.get("boxart")[0].get("url")
    else: seriesthumb = ""
    
    for item in seasons:
        episode_season = unicode(item['seq'])
        if not tvshowyear: tvshowyear = item.get("year")
        if episode_season == season:
            for item in item['episodes']:
                playcount = 0
                episode_id = item['episodeId']
                episode_nr = item['seq']
                episode_title = item['title']
                duration = item['runtime']
                offset = item['bookmark']['offset']
                if (duration > 0 and float(offset) / float(duration)) >= 0.9:
                    playcount = 1
                description = item['synopsis']
                try:
                    thumb = item['stills'][0]['url']
                except:
                    thumb = generic_utility.addon_fanart()
                episode = {
                    "series_id": series_id, 
                    "episode_id":episode_id, 
                    "episode_title":episode_title, 
                    "description":description, 
                    "episode_nr":int(episode_nr), 
                    "season":int(season), 
                    "duration":duration, 
                    "thumb":thumb,
                    "seriesthumb":seriesthumb,
                    "hd":item.get("hd",False), 
                    "playcount":playcount, 
                    "tvshowtitle":tvshow.get('title'),
                    "tvshowyear": tvshowyear,
                    "tvshowgenre": "Series"
                }
                episodes.append(episode)
    return episodes
Exemplo n.º 10
0
def episode(episode):
    series_id, episode_id, name, description, episode_nr, season_nr, duration, thumb, playcount = episode

    cover_file, fanart_file = generic_utility.cover_fanart(series_id)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(episode_id))
    u += '&mode=play_video_main'
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video',
                      infoLabels={'title': name, 'plot': description, 'duration': duration, 'season': season_nr,
                                  'episode': episode_nr, 'playcount': playcount})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=False)
    return directory_item
Exemplo n.º 11
0
def episodes_data(season, series_id):
    episodes = []

    content = series_info(series_id)
    content = json.loads(content)["video"]["seasons"]
    for test in content:
        episode_season = unicode(test["seq"])
        if episode_season == season:
            for item in test["episodes"]:
                playcount = 0
                episode_id = item["episodeId"]
                episode_nr = item["seq"]
                episode_title = unicode(episode_nr) + ". " + item["title"]
                duration = item["runtime"]
                offset = item["bookmark"]["offset"]
                if (duration > 0 and float(offset) / float(duration)) >= 0.9:
                    playcount = 1
                description = item["synopsis"]
                try:
                    thumb = item["stills"][0]["url"]
                except:
                    thumb = generic_utility.addon_fanart()
                #                generic_utility.log('episode-title: '+episode_title)
                episode = (
                    series_id,
                    episode_id,
                    episode_title,
                    description,
                    episode_nr,
                    season,
                    duration,
                    thumb,
                    playcount,
                )
                episodes.append(episode)
    return episodes
Exemplo n.º 12
0
def season(name, url, thumb, series_name, series_id):
    entries = []
    cover_file, fanart_file = generic_utility.cover_fanart(series_id)
    u = sys.argv[0]
    u += '?url=' + urllib.quote_plus(unicode(url))
    u += '&mode=list_episodes'
    u += '&series_id=' + urllib.quote_plus(series_id)
    list_item = xbmcgui.ListItem(name)
    list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb})
    list_item.setInfo(type='video', infoLabels={'title': name})
    if xbmcvfs.exists(fanart_file):
        list_item.setProperty('fanart_image', fanart_file)
    elif xbmcvfs.exists(cover_file):
        list_item.setProperty('fanart_image', cover_file)
    else:
        list_item.setProperty('fanart_image', generic_utility.addon_fanart())
    entries.append((generic_utility.get_string(30150),
                    'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)' % (
                        generic_utility.addon_id, urllib.quote_plus(unicode(url)),
                        urllib.quote_plus(generic_utility.encode(series_name.strip())),
                        series_id)))
    list_item.addContextMenuItems(entries)
    directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True)
    return directory_item