Пример #1
0
def playRawAudio(request_obj, response_obj):
    pbType = int(Container().getAddonContext().addon.getSetting('playbacktype'))
    Container().ga_client.reportAction('audio')
    if XBMCInterfaceUtils.isPlayingVideo():
        response_obj.addServiceResponseParam("status", "error")
        response_obj.addServiceResponseParam("title", "Stop active video!")
        response_obj.addServiceResponseParam("message", "Note: XBMC cannot play audio when video playback is in progress.")
        item = ListItem()
        item.set_next_action_name('respond')
        response_obj.addListItem(item)
    elif pbType == 2 and XBMCInterfaceUtils.isPlaying():
        response_obj.addServiceResponseParam("status", "error")
        response_obj.addServiceResponseParam("title", "XBMC is already playing.")
        response_obj.addServiceResponseParam("message", "Check PlayIt Service add-on settings. Your this request is ignored.")
        item = ListItem()
        item.set_next_action_name('respond')
        response_obj.addListItem(item)
    else:
        if pbType == 0:
            XBMCInterfaceUtils.stopPlayer()
        if not XBMCInterfaceUtils.isPlaying():
            XBMCInterfaceUtils.clearPlayList(list_type="audio")
            response_obj.addServiceResponseParam("message", "Enjoy your music!")
        else:
            response_obj.addServiceResponseParam("title", "Request Enqueued!")
            response_obj.addServiceResponseParam("message", "Your request has been added to player queue.")
        item = ListItem()
        item.get_moving_data()['audioStreamUrl'] = request_obj.get_data()['track_link']
        item.set_next_action_name('Play')
        xbmcListItem = xbmcgui.ListItem(label=request_obj.get_data()['track_title'], iconImage=request_obj.get_data()['track_artwork_url'], thumbnailImage=request_obj.get_data()['track_artwork_url'])
        xbmcListItem.setInfo('music', {'title':request_obj.get_data()['track_title']})
        item.set_xbmc_list_item_obj(xbmcListItem)
        response_obj.addListItem(item)
        response_obj.addServiceResponseParam("status", "success")
Пример #2
0
def playRawVideo(request_obj, response_obj):
    video_url = request_obj.get_data()['videoLink']
    Container().ga_client.reportAction('video')
    item = ListItem()
    item.get_moving_data()['videoStreamUrl'] = video_url
    item.set_next_action_name('Play')
    xbmcListItem = xbmcgui.ListItem(label='Streaming Video')
    item.set_xbmc_list_item_obj(xbmcListItem)
    response_obj.addListItem(item)
    response_obj.addServiceResponseParam("status", "success")
    response_obj.addServiceResponseParam("message", "Enjoy the video!")
Пример #3
0
def playZappyVideo(request_obj, response_obj):
    Logger.logDebug(request_obj.get_data());
    Container().ga_client.reportAction('zappyvideo')
    video_id = request_obj.get_data()['videoId']
    port = request_obj.get_data()['port']
    ipaddress = request_obj.get_data()['client_ip']
    video_url = "http://" + ipaddress + ":" + str(port) + "/?videoId=" + video_id
    item = ListItem()
    item.get_moving_data()['videoStreamUrl'] = video_url
    item.set_next_action_name('Play')
    xbmcListItem = xbmcgui.ListItem(label='Streaming Video')
    item.set_xbmc_list_item_obj(xbmcListItem)
    response_obj.addListItem(item)
    response_obj.addServiceResponseParam("status", "success")
    response_obj.addServiceResponseParam("message", "Enjoy the video!")
Пример #4
0
def retieveMovieStreams(request_obj, response_obj):
    soup = None
    if request_obj.get_data().has_key('movieInfoUrl'):
        html = HttpUtils.HttpClient().getHtmlContent(url=(BASE_WSITE_URL + request_obj.get_data()['movieInfoUrl'][3:]))
        soup = BeautifulSoup.BeautifulSoup(html)
    elif request_obj.get_data().has_key('moviePageUrl'):
        contentDiv = BeautifulSoup.SoupStrainer('div', {'dir':'ltr'})
        soup = HttpUtils.HttpClient().getBeautifulSoup(url=request_obj.get_data()['moviePageUrl'], parseOnlyThese=contentDiv)
    if soup == None:
        return
    videoSourceLink = None
    scriptTags = []
    
    for row in soup('script', {'type':'text/javascript'}):
        if re.search('jwplayer', ''.join(row.contents)):
             jwplayer = ''.join(row.contents)
             m_obj = re.search(r'({.*})', jwplayer)
             if m_obj:
                jwplayerStr = m_obj.group(1).replace("'", "\"")
                matches = re.search('"file": "(.+?)"', jwplayerStr, re.IGNORECASE)
                if matches:
                    videoSourceLink = matches.group(1)
                    break
    
    
    XBMCInterfaceUtils.displayDialogMessage('Do you know?', 'The content of this add-on is from www.einthusan.com.', 'Please help Einthusan by visiting his website regularly.', 'The developer has no relation with www.einthusan.com. OK to proceed!', msgType='[B]INFO & REQUEST: [/B]')
    
    item = ListItem()
    item.set_next_action_name('Play')
    item.get_moving_data()['videoStreamUrl'] = videoSourceLink
    xbmcListItem = xbmcgui.ListItem(label=request_obj.get_data()['movieTitle'])
    if(request_obj.get_data().has_key('videoInfo')):
        meta = request_obj.get_data()['videoInfo']
        xbmcListItem.setIconImage(meta['thumb_url'])
        xbmcListItem.setThumbnailImage(meta['cover_url'])
        xbmcListItem.setInfo('video', meta)
    item.set_xbmc_list_item_obj(xbmcListItem)
    response_obj.addListItem(item)