当前位置: 首页>>代码示例>>Python>>正文


Python ListItem.set_info方法代码示例

本文整理汇总了Python中xbmcswift2.ListItem.set_info方法的典型用法代码示例。如果您正苦于以下问题:Python ListItem.set_info方法的具体用法?Python ListItem.set_info怎么用?Python ListItem.set_info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xbmcswift2.ListItem的用法示例。


在下文中一共展示了ListItem.set_info方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: play

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def play(url):
    url = url.decode('utf-8','ignore')
    resolved = u''
    try:
        import urlresolver
        resolved = urlresolver.HostedMediaFile(url).resolve()
        vitem = ListItem(label=url, path=resolved)
        vitem.is_folder = False
        vitem.set_is_playable = True
        vitem.set_info(type='video', info_labels={'Title': url})
        vitem.add_stream_info(stream_type='video', stream_values={})
        plugin.set_resolved_url(resolved)
        return plugin.play_video(vitem)
    except:
        plugin.notify(msg="Failed to resolve {0} to a playable video.".format(url))
    try:
        if resolved is None or len(resolved) < 5:
            import YoutubeDLWrapper
            ytdl = YoutubeDLWrapper._getYTDL()
            ytdl.clearDownloadParams()
            resolved = ytdl.extract_info(url, download=False)
            vitem = ListItem(label=url, path=resolved)
            vitem.is_folder = False
            vitem.set_is_playable = True
            vitem.set_info(type='video', info_labels={'Title': url})
            vitem.add_stream_info(stream_type='video', stream_values={})
            plugin.set_resolved_url(resolved)
            return plugin.play_video(vitem)
    except:
        plugin.notify(msg="Failed to resolve {0} to a playable video.".format(url))
    return None
开发者ID:moedje,项目名称:kodi-repo-gaymods,代码行数:33,代码来源:addon.py

示例2: get_track_item

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def get_track_item(track, album = None, band = None):
    if not album:
        if track.get('album_id',None):
            album = bc.album_info(track['album_id'])
        else:album = {}

    if not band:
        band = bc.band_info(track['band_id'])

    art = track.get('large_art_url', album.get('large_art_url',None))
    release_date = track.get('release_date', album.get('release_date',None))
    artist = track.get('artist', album.get('artist', band['name']))
    if track.get('number',None):
        label = u"{0} - {1}".format(track['number'], track['title'])
    else: label = track['title']
    li = ListItem(
        label = label,
        icon=art,
        thumbnail=art,
        path=plugin.url_for('play_track', track_id = track['track_id']),
    )
    li.set_property('mimetype','audio/mpeg')
    li.set_is_playable(True)
    infos = {
        'title':track['title'],
        'tracknumber':track.get('number',None),
        'duration':track['duration'],
        'lyrics':track.get('lyrics',''),
        'album':album.get('title',None),
        'artist':artist,
        'year':year_from_timestamp(release_date)
    }
    li.set_info('Music', infos)
    return li
开发者ID:plule,项目名称:plugin.audio.bandcamp,代码行数:36,代码来源:default.py

示例3: tvitem

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def tvitem(adapter, channel):
    titleandtime = channel.nowstarttimeandtitle()

    item = ListItem(label=channel.name,
                    label2=titleandtime,
                    icon=channel.getimagefile(config.tvconfig.channelsdir),
                    thumbnail=channel.getimagefile(config.tvconfig.channelsdir),
                    path=plugin.url_for(str('play_channel'), adapter=adapter, channelid=str(channel.channelid)))

    item.set_is_playable(True)
    item.set_info('video',
                  {
                      'title': channel.name[:15],
                      'tvshowtitle': titleandtime,
                      'duration': channel.v_nowduration,
                      'plot': channel.v_nowdescription,
                      'plotoutline': channel.v_nowdescription,
                      'tagline': channel.nowstarttimeandtitle(),
                      'playcount': 0,
                      #'cast': channel.v_nowactors,
                      'fanart': channel.v_nowfanart,
                      'extrafanart': channel.v_nowposter,
                      'originaltitle': channel.v_nowtitle,
                      'year': channel.v_nowyear,
                      'album': titleandtime,  # I used album 'cause I haven't found another field to display label2
                      'genre': channel.v_nowgenre
                  })
    item.add_context_menu_items(create_context_menu(channel.name, adapter, channel.channelid), replace_items=True)
    item.add_stream_info('video',
                         {'duration': try_parse_int(channel.v_nowduration) * 60, 'plot': channel.v_nowdescription})
    return item
开发者ID:giogris,项目名称:tvs,代码行数:33,代码来源:addon.py

示例4: video_detail

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def video_detail(seasonId):
    detail = Meiju.video_detail(seasonId)
    season_data = detail["data"]["season"]
    title = season_data["title"]
    SEASON_CACHE[seasonId] = detail["data"]  # store season detail
    history = HISTORY.get("list", None)
    playing_episode = "0"
    if history is not None:
        for l in history:
            if l["seasonId"] == seasonId:
                playing_episode = l["index"]
    for episode in season_data["playUrlList"]:
        label = title + str(episode["episode"])
        if episode["episode"] == playing_episode:
            label = "[B]" + colorize(label, "green") + "[/B]"
        item = ListItem(**{
            'label': label,
            'path': plugin.url_for("play_season", seasonId=seasonId, index=episode["episode"], Esid=episode["episodeSid"]),
        })
        item.set_info("video", {"plot": season_data["brief"],
                                "TVShowTitle": title,
                                "episode": int(episode["episode"]),
                                "season": 0})
        item._listitem.setArt({"poster": season_data["cover"]})
        item.set_is_playable(True)
        yield item
    plugin.set_content('episodes')
开发者ID:brmnh,项目名称:xbmc-addons-chinese,代码行数:29,代码来源:path.py

示例5: processTracksList

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def processTracksList(tracks):
    items = []
    for track in tracks:
        item = ListItem()
        item.set_label('%s - %s' % (track['artistName'], track['trackName']))
        try:
            item.set_thumbnail(track['imageLarge'])
        except:
            pass
        item.set_path(plugin.url_for('play',
            artist = track['artistName'].encode('utf-8'),
            track = track['trackName'].encode('utf-8'))
        )
        item.set_is_playable(True)
        try:
            item.set_info('music', {
                'Duration': track['durationSec'],
                'Title': track['trackName'],
                'Artist': track['artistName'],
                'TrackNumber': track['position'],
            })
        except:
            pass

        # Support Track Downloading
        if plugin.get_setting('Download Path') != '':
            item.add_context_menu_items([(
                plugin.get_string(30007),
                'XBMC.RunPlugin(' + plugin.url_for('download',
                    artist = track['artistName'].encode('utf-8'),
                    track = track['trackName'].encode('utf-8')) + ')'
                )])

        items.append(item)
    return items
开发者ID:Backmute,项目名称:seppius-xbmc-repo,代码行数:37,代码来源:addon.py

示例6: resolveurl

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def resolveurl():
    url = plugin.keyboard(default='', heading='Video Page URL')
    if url is not None:
        name = url
        if len(url) > 0:
            item = ListItem(label=name, label2=url, icon='DefaultVideo.png', thumbnail='DefaultVideo.png',
                            path=plugin.url_for(endpoint=play, url=url))
            item.set_is_playable(True)
            item.set_info(type='video', info_labels={'Title': url, 'Plot': url})
            item.add_stream_info(stream_type='video', stream_values={})
            playable = play(url)
            plugin.notify(msg=playable.path, title="Playing..")
            plugin.play_video(playable)
    # plugin.redirect(plugin.url_for(index))
    plugin.clear_added_items()
    plugin.end_of_directory()
开发者ID:moedje,项目名称:kodi-repo-gaymods,代码行数:18,代码来源:oldaddon.py

示例7: processPlaylists

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def processPlaylists(playlists):
    items = []
    for playlist in playlists:
        item = ListItem()
        title = playlist['name']
        if plugin.get_setting('Show owner') == 'true':
            title += ' @' + playlist['user']['login']
        item.set_label(title)
        item.set_thumbnail(playlist['images']['large'])
        item.set_path(plugin.url_for('playlist', playlist_id = str(playlist['playlistId'])))
        item.set_info('music', {
            'Album': playlist['name'],
            'TrackNumber': playlist['itemsCount']
        })
        items.append(item)
    return items
开发者ID:Backmute,项目名称:seppius-xbmc-repo,代码行数:18,代码来源:addon.py

示例8: get_album

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def get_album(albumId):
    c_list = Meiju.get_album(albumId)
    for one in c_list["data"]["results"]:
        item = ListItem(**{
            'label': one.get("title"),
            'path': plugin.url_for("detail", seasonId=one.get("id")),
            'icon': one["cover"],
            'thumbnail': one["cover"],
        })
        item.set_info("video", {"plot": one.get("brief", ""),
                                "rating ": float(one["score"]),
                                "genre": one["cat"],
                                "season": one["seasonNo"]})
        item.set_is_playable(False)
        yield item
    plugin.set_content('TVShows')
开发者ID:2php,项目名称:xbmc-addons-chinese,代码行数:18,代码来源:path.py

示例9: get_album_item

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def get_album_item(album, band = None):
    if (not band) and (not album.get('artist',None)):
        band = bc.band_info(album['band_id'])

    year = year_from_timestamp(int(album['release_date']))
    artist = album.get('artist', band['name'])

    li = ListItem(
        label = u"{1} - {0}".format(album['title'], year),
        icon=album['large_art_url'],
        thumbnail=album['large_art_url'],
        path=plugin.url_for('show_album', album_id = album['album_id'])
    )
    infos = {
        'year':year,
        'album':album['title'],
        'artist':artist
    }
    li.set_info('Music', infos)
    return li
开发者ID:plule,项目名称:plugin.audio.bandcamp,代码行数:22,代码来源:default.py

示例10: searchstreams

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
def searchstreams(query='gay', offset=0):
    vids = []
    img = 'DefaultVideo.png'
    fhosts = plugin.get_setting(key='filterhosts')
    fwords = plugin.get_setting(key='filterwords')
    fnames = plugin.get_setting(key='filternames')
    newlinks = plugin.get_setting(key='newlinkson', converter=bool)
    addqs = ""
    if len(fnames) > 0:
        addqs += "name:{0} ".format(fnames)
    if len(fhosts) > 0:
        addqs += "host:{0} ".format(fhosts)
    if len(fwords) > 0:
        addqs += fwords + " "
    if newlinks:
        addqs += "#newlinks "
    apiurl = urlsearch.replace("from=0", "from={0}".format(offset))
    apiurl += quote_plus(query + " " + addqs.strip())
    results = DL(apiurl)
    res = json.loads(results, encoding='utf-8')
    pornresults = PronApi(**res)
    if isinstance(res, dict) and res.get('result'):
        items = res.get('result')
        for item in items:
            mov = Result()
            hoster = Hosterurls()
            filedata = Filedata()
            if item.get('metatags'):
                meta = Metatags(**item.get('metatags'))
            if item.get('hosterurls'):
                hoster = Hosterurls(**item.get('hosterurls')[0])
            if item.get('hosterurls')[0].get('filedata'):
                filedata = Filedata(**item.get('hosterurls')[0].get('filedata'))
                filedatalist = []
                img = ''
                for fdata in item.get('hosterurls')[0].get('filedata').get('filedata'):
                    filedataitem = Filedata(**fdata)
                    if filedataitem.name == 'pic':
                        img = filedataitem.value
                    filedatalist.append(filedataitem)
                filedata.filedata = filedatalist
                hoster.filedata = filedata
            mov = Result(**item)
            mov.hosterurls = hoster
            mov.metatags = meta

            datemod = mov.modified
            title = unquote(HTML.unescape(mov.title))
            filename = mov.sourcetitle
            if filename:
                filename = unquote(filename)
            else:
                filename = ""
            url = mov.hosterurls.url
            hostname = mov.hosterurls.filedata.hosterurl
            lbl = "[COLOR white]" + filename + "[/COLOR]\n" + title
            if len(hostname) > 0 and len(fhosts) < 2:
                hostparts = urlparse.urlparse(hostname)
                hostname = hostparts.hostname.replace("www.","")
                if len(filename) > 20:
                    filename = filename[:20].strip() + ".."
                lbl = "[COLOR white]" + filename + "[/COLOR] ([COLOR yellow]" + hostname + ")[/COLOR]\n" + title
            imgid = mov.imageid
            #if len(img) < 1 and len(imgid) > 0:
            #    img = get_thumb(imgid)
            playpath = plugin.url_for(endpoint=play, url=url)
            litem = ListItem(label=lbl, label2=filename, icon=img, thumbnail=img, path=playpath)
            litem.set_info(type='video', info_labels={'Date': datemod, 'Title': title, 'Plot': mov.sourcetitle, 'Genre': hostname})
            litem.set_property('genre', str(repr(mov.hosterurls)))
            litem.set_property('date', datemod)
            litem.set_property('genre', hostname)
            litem.is_folder = False
            litem.playable = True
            litem.set_info(type='video', info_labels={'Title': title})
            vids.append(litem)
    vids.sort(key=lambda item : item.label)
    sitem = ListItem(label="[COLOR green]Search Pron.TV[/COLOR]", icon=__imgsearch__, thumbnail=__imgsearch__, path=plugin.url_for(endpoint=search))
    nitem = ListItem(label="[COLOR green]-> Next Results ->[/COLOR]", icon=__imgnext__, thumbnail=__imgnext__, path=plugin.url_for(endpoint=nextpage, query=query, offset=str(int(offset)+COUNT)))
    vids.insert(0, sitem)
    vids.insert(1, nitem)
    return vids
开发者ID:moedje,项目名称:kodi-repo-gaymods,代码行数:83,代码来源:addon.py

示例11: test_set_info

# 需要导入模块: from xbmcswift2 import ListItem [as 别名]
# 或者: from xbmcswift2.ListItem import set_info [as 别名]
 def test_set_info(self):
     with patch.object(xbmcgui.ListItem, 'setInfo') as mock_setInfo:
         item = ListItem()
         item.set_info('video', {'title': '300'})
     mock_setInfo.assert_called_with('video', {'title': '300'})
开发者ID:beenje,项目名称:xbmcswift2,代码行数:7,代码来源:test_listitem.py


注:本文中的xbmcswift2.ListItem.set_info方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。