コード例 #1
0
ファイル: default.py プロジェクト: sdong06/guide
def get_plugin_thumbnail(image):

    # support user supplied .png files
    userpng = os.path.join(iplayer.get_thumb_dir(), xbmc.getSkinDir(), image + '.png')
    if os.path.isfile(userpng):
        return userpng
    userpng = os.path.join(iplayer.get_thumb_dir(), image + '.png')
    if os.path.isfile(userpng):
        return userpng

    return None
コード例 #2
0
ファイル: default.py プロジェクト: AWilco/iplayerv2
def get_plugin_thumbnail(image):

    # support user supplied .png files
    userpng = os.path.join(iplayer.get_thumb_dir(), xbmc.getSkinDir(), image + '.png')
    if os.path.isfile(userpng):
        return userpng
    userpng = os.path.join(iplayer.get_thumb_dir(), image + '.png')
    if os.path.isfile(userpng):
        return userpng
    
    return None
コード例 #3
0
ファイル: live_tv.py プロジェクト: AWilco/iplayerv2
def list_channels():
    handle = int(sys.argv[1])
    xbmcplugin.addSortMethod(handle=handle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

    channels = sorted(live_tv_channels.items(), key=itemgetter(1))
    for id, (sort, stream_id, label, thumb) in channels:
        url = make_url(channel = id)
        listitem = xbmcgui.ListItem(label=label)
        listitem.setIconImage('defaultVideo.png')
        listitem.setThumbnailImage(os.path.join(get_thumb_dir(), thumb))        
        ok = xbmcplugin.addDirectoryItem(
            handle = handle, 
            url = url,
            listitem = listitem,
            isFolder = False,
        )

    xbmcplugin.endOfDirectory(handle=handle, succeeded=True)
コード例 #4
0
def list_channels():
    handle = int(sys.argv[1])
    xbmcplugin.addSortMethod(handle=handle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

    channels = sorted(live_tv_channels.items(), key=itemgetter(1))
    for id, (sort, stream_id, label, thumb) in channels:
        url = make_url(channel = id)
        listitem = xbmcgui.ListItem(label=label)
        listitem.setIconImage('defaultVideo.png')
        listitem.setThumbnailImage(os.path.join(get_thumb_dir(), thumb))        
        ok = xbmcplugin.addDirectoryItem(
            handle = handle, 
            url = url,
            listitem = listitem,
            isFolder = False,
        )

    xbmcplugin.endOfDirectory(handle=handle, succeeded=True)
コード例 #5
0
ファイル: live_tv.py プロジェクト: AWilco/iplayerv2
def play_stream(channel, bitrate, showDialog):
    bitrate = int(bitrate)
    # check to see if bbcthree/cbbc or bbcfour/cbeebies is on the air?    
    if channel == 'bbc_three' or channel == 'bbc_four' or channel == 'cbeebies' or channel == 'cbbc':
        surl = 'http://www.bbc.co.uk/iplayer/tv/'+channel
        cstr = httpget(surl)
        off_air_message = re.compile('<h2 class="off-air">.+?</span>(.+?)</a></h2>').findall(cstr)
        if off_air_message:
            pDialog = xbmcgui.Dialog()
            pDialog.ok('IPlayer', 'Channel is currently Off Air')
            return

    provider = get_provider()
    
    # check for red button usage
    if channel == 'bbc_redbutton':
        pDialog = xbmcgui.Dialog()
        if not pDialog.yesno("BBC Red Button Live Stream", "This will only work when the stream is broadcasting.", "If it is not on, xbmc may retry indefinately (crash)", "Do you want to try anyway?"):
            return

    url = fetch_stream_info(channel, bitrate, provider)

    if url == "":
        Dialog = xbmcgui.Dialog()
        pDialog.ok('IPlayer', "Sorry, stream is currently unavailable")

    if showDialog:
        pDialog = xbmcgui.DialogProgress()
        pDialog.create('IPlayer', 'Loading live stream info')
        xbmc.sleep(50)

    if showDialog: pDialog.update(50, 'Starting Stream')
    # build listitem to display whilst playing
    (sort, stream_id, label, thumb) = live_tv_channels[channel]
    listitem = xbmcgui.ListItem(label = label + ' - Live')
    listitem.setIconImage('defaultVideo.png')
    listitem.setThumbnailImage(os.path.join(get_thumb_dir(), thumb))

    play = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
    play.clear()
    play.add(url,listitem)
    player = xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER)
    player.play(play)
    if showDialog: pDialog.close()
コード例 #6
0
def play_stream(channel, bitrate, showDialog):
    bitrate = int(bitrate)
    # check to see if bbcthree/cbbc or bbcfour/cbeebies is on the air?    
    if channel == 'bbc_three' or channel == 'bbc_four' or channel == 'cbeebies' or channel == 'cbbc':
        surl = 'http://www.bbc.co.uk/iplayer/tv/'+channel
        cstr = httpget(surl)
        off_air_message = re.compile('<h2 class="off-air">.+?</span>(.+?)</a></h2>').findall(cstr)
        if off_air_message:
            pDialog = xbmcgui.Dialog()
            pDialog.ok('IPlayer', 'Channel is currently Off Air')
            return

    provider = get_provider()
    
    # check for red button usage
    if channel == 'bbc_redbutton':
        pDialog = xbmcgui.Dialog()
        if not pDialog.yesno("BBC Red Button Live Stream", "This will only work when the stream is broadcasting.", "If it is not on, xbmc may retry indefinately (crash)", "Do you want to try anyway?"):
            return

    url = fetch_stream_info(channel, bitrate, provider)

    if url == "":
        pDialog = xbmcgui.Dialog()
        pDialog.ok('IPlayer', "Sorry, stream is currently unavailable")

    if showDialog:
        pDialog = xbmcgui.DialogProgress()
        pDialog.create('IPlayer', 'Loading live stream info')
        xbmc.sleep(50)

    if showDialog: pDialog.update(50, 'Starting Stream')
    # build listitem to display whilst playing
    (sort, stream_id, label, thumb) = live_tv_channels[channel]
    listitem = xbmcgui.ListItem(label = label + ' - Live')
    listitem.setIconImage('defaultVideo.png')
    listitem.setThumbnailImage(os.path.join(get_thumb_dir(), thumb))

    play = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
    play.clear()
    play.add(url,listitem)
    player = xbmc.Player(xbmc.PLAYER_CORE_AUTO)
    player.play(play)
    if showDialog: pDialog.close()
コード例 #7
0
ファイル: default.py プロジェクト: AWilco/iplayerv2
def get_feed_thumbnail(feed):
    thumbfn = ''
    if not feed or not feed.channel: return ''

    # support user supplied .png files
    userpng = get_plugin_thumbnail(feed.channel)
    if userpng: return userpng
    
    # check for a preconfigured logo
    if iplayer.stations.channels_logos.has_key(feed.channel):
        url = iplayer.stations.channels_logos[feed.channel]
        if url == None:
            url = os.path.join(iplayer.get_thumb_dir(), 'bbc_local_radio.png')
        return url
        
    # national TV and Radio stations have easy to find online logos
    if feed.tvradio == 'radio':
        url = "http://www.bbc.co.uk/iplayer/img/radio/%s.gif" % feed.channel
    else:
        url = "http://www.bbc.co.uk/iplayer/img/tv/%s.jpg" % feed.channel
        
    return url
コード例 #8
0
ファイル: default.py プロジェクト: whf839/xbmc-addons
def get_feed_thumbnail(feed):
    thumbfn = ''
    if not feed or not feed.channel: return ''

    # support user supplied .png files
    userpng = get_plugin_thumbnail(feed.channel)
    if userpng: return userpng

    # check for a preconfigured logo
    if iplayer.stations.channels_logos.has_key(feed.channel):
        url = iplayer.stations.channels_logos[feed.channel]
        if url == None:
            url = os.path.join(iplayer.get_thumb_dir(), 'bbc_local_radio.png')
        return url

    # national TV and Radio stations have easy to find online logos
    if feed.tvradio == 'radio':
        url = "http://www.bbc.co.uk/iplayer/img/radio/%s.gif" % feed.channel
    else:
        url = "http://www.bbc.co.uk/iplayer/img/tv/%s.jpg" % feed.channel

    return url