예제 #1
0
def addToLibrary(play):
    Addon.log('Add to library: %s' % play)

    folder = Addon.get_setting('library_folder')
    if folder == '':
        d = xbmcgui.Dialog()
    d.ok(
        Addon.get_string(30300),
        'You have not set the library folder.\nPlease update the addon settings and try again.',
        '', '')
    Addon.addon.openSettings(sys.argv[0])

    folder = Addon.get_setting('library_folder')
    if folder == '':
        return

    if Addon.get_setting('download_hq') == 'true':  #fix for old versions
        hq = '720p'
    else:
        hq = Addon.get_setting('hq')

    title = play.rsplit('@', 1)[0]
    assetID = play.rsplit('@', 1)[1]
    stream_url = muzu.resolve_stream(assetID, hq)

    #try and match artist and track name
    artist, track = getArtistAndTrack(title)

    kb = xbmc.Keyboard(artist, 'Enter Artist...')
    kb.doModal()
    if not kb.isConfirmed():
        return

    artist = clean(kb.getText())

    kb = xbmc.Keyboard(track, 'Enter Track...')
    kb.doModal()
    if not kb.isConfirmed():
        return

    track = clean(kb.getText())

    if track == '' and artist == '':
        return

    path = os.path.join(folder, artist + ' - ' + track)
    if not os.path.exists(path):
        os.mkdir(path)

    filename = os.path.join(path, track + '.strm')

    strm = stream_url
    f = open(filename, "w")
    f.write(strm)
    f.close()
예제 #2
0
def addToLibrary(play):
    Addon.log('Add to library: %s' % play)

    folder = Addon.get_setting('library_folder')
    if folder == '':
        d = xbmcgui.Dialog()
    d.ok(Addon.get_string(30300),'You have not set the library folder.\nPlease update the addon settings and try again.','','')
    Addon.addon.openSettings(sys.argv[0])
    
    folder = Addon.get_setting('library_folder')
    if folder == '':
        return

    if Addon.get_setting('download_hq') == 'true': #fix for old versions
        hq = '720p'
    else:
        hq = Addon.get_setting('hq')   

    title      = play.rsplit('@', 1)[0]
    assetID    = play.rsplit('@', 1)[1]
    stream_url = muzu.resolve_stream(assetID, hq) 

    #try and match artist and track name
    artist, track = getArtistAndTrack(title)

    kb = xbmc.Keyboard(artist, 'Enter Artist...' )
    kb.doModal()
    if not kb.isConfirmed():
        return

    artist = clean(kb.getText())

    kb = xbmc.Keyboard(track, 'Enter Track...' )
    kb.doModal()
    if not kb.isConfirmed():
        return

    track = clean(kb.getText())

    if track == '' and artist == '':
        return

    path = os.path.join(folder, artist + ' - ' + track)
    if not os.path.exists(path):
        os.mkdir(path)

    filename = os.path.join(path, track+'.strm')

    strm = stream_url
    f    = open(filename, "w")
    f.write(strm)
    f.close()
예제 #3
0
def downloadPath(title, stream_url):
    if not stream_url or stream_url == '':
        return None

    downloadFolder = Addon.get_setting('download_folder')

    if Addon.get_setting('ask_folder') == 'true':
        dialog = xbmcgui.Dialog()
    downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False,
                                   False, downloadFolder)
    if downloadFolder == '':
        return None

    if downloadFolder is '':
        d = xbmcgui.Dialog()
    d.ok(
        Addon.get_string(30300),
        'You have not set the default download folder.\nPlease update the addon settings and try again.',
        '', '')
    Addon.addon.openSettings(sys.argv[0])
    downloadFolder = Addon.get_setting('download_folder')

    if downloadFolder == '' and Addon.get_setting('ask_folder') == 'true':
        dialog = xbmcgui.Dialog()
    downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False,
                                   False, downloadFolder)

    if downloadFolder == '':
        return None

    filename = stream_url
    filename = filename.rsplit('/', 1)[1]
    filename = filename.rsplit('?', 1)[0]
    ext = filename.rsplit('.', 1)[1]

    if isChart(title):
        title = title.split(': ', 1)[1]

    if Addon.get_setting('ask_filename') == 'true':
        kb = xbmc.Keyboard(title, 'Save video as...')
    kb.doModal()
    if kb.isConfirmed():
        filename = kb.getText()
    else:
        filename = title

    filename = clean(filename) + '.' + ext

    return os.path.join(downloadFolder, filename)
예제 #4
0
def show_streams(title, playlist_id):
    if mode == title:
        streams = source.Source().get_streams(playlist_id)
        if streams:
            for c in streams:
                title = c['title']
                channel = c['title']
                videoId = c['videoId']
                img = c['img']
                rURL = Addon.plugin_url + "?channel=" + channel + "&videoId=" + videoId + "&mode=play"
                Addon.add_video_item(rURL, {'title': title}, img=img)

    elif mode == 'play':
        videoId = Addon.plugin_queries['videoId']
        stream_status = source.Source()._get_json(
            '/check' + base64.b64decode('LnBocA=='), {'id': videoId})['status']
        if stream_status == 'true':
            stream = "https://www.youtube.com/watch?v=" + videoId
            stream_url = liveresolver.resolve(stream)
            item = xbmcgui.ListItem(path=stream_url)
            xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
        else:
            dlg.ok(Addon.get_string(5000), Addon.get_string(7000))
            exit()
예제 #5
0
def downloadPath(title, stream_url):        		
    if not stream_url or stream_url == '':
        return None

    downloadFolder = Addon.get_setting('download_folder')

    if Addon.get_setting('ask_folder') == 'true':
        dialog = xbmcgui.Dialog()
	downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder)
	if downloadFolder == '' :
	    return None

    if downloadFolder is '':
        d = xbmcgui.Dialog()
	d.ok(Addon.get_string(30300),'You have not set the default download folder.\nPlease update the addon settings and try again.','','')
	Addon.addon.openSettings(sys.argv[0])
	downloadFolder = Addon.get_setting('download_folder')

    if downloadFolder == '' and Addon.get_setting('ask_folder') == 'true':
        dialog = xbmcgui.Dialog()
	downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder)	

    if downloadFolder == '' :
        return None

    filename = stream_url
    filename = filename.rsplit('/', 1)[1]
    filename = filename.rsplit('?', 1)[0]
    ext      = filename.rsplit('.', 1)[1]

    if isChart(title):
        title = title.split(': ', 1)[1]
   
    if Addon.get_setting('ask_filename') == 'true':
        kb = xbmc.Keyboard(title, 'Save video as...' )
	kb.doModal()
	if kb.isConfirmed():
	    filename = kb.getText()
	else:
	    return None
    else:
        filename = title

    filename = clean(filename) + '.' + ext

    return os.path.join(downloadFolder, filename)
예제 #6
0
파일: default.py 프로젝트: bialagary/mw
Addon.plugin_handle = int(sys.argv[1])
Addon.plugin_queries = Addon.parse_query(sys.argv[2][1:])

email = Addon.get_setting('email')
password = Addon.get_setting('password')
ustv = ustvnow.Ustvnow(email, password)

Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle))

mode = Addon.plugin_queries['mode']

if mode == 'main':
    Addon.log(mode)
    Addon.add_directory({'mode': 'live'}, Addon.get_string(30001))
    Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002))

elif mode == 'live':
    Addon.log(mode)
    stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))]
    channels = ustv.get_channels(int(Addon.get_setting('quality')),
                                 stream_type)
    for c in channels:
        Addon.add_video_item(
            c['url'], {
                'title': '%s - %s' % (c['name'], c['now']['title']),
                'plot': c['now']['plot']
            },
            img=c['icon'])
예제 #7
0
setup = Addon.get_setting('setup')
setup_new = Addon.get_setting('setup_new')
email = Addon.get_setting('email')
password = Addon.get_setting('password')
ustv = ustvnow.Ustvnow(email, password)

dlg = xbmcgui.Dialog()

Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle)) 

quality_type = int(Addon.get_setting('quality'))

if setup != 'true':
    dlg.ok(Addon.get_string(30000),Addon.get_string(20002),Addon.get_string(20003))
    # Enter Email
    retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM)
    if retval and len(retval) > 0:
        Addon.set_setting('email', str(retval))
        email = Addon.get_setting('email')
    # Enter Password
    retval = dlg.input(Addon.get_string(20005), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT)
    if retval and len(retval) > 0:
        Addon.set_setting('password', str(retval))
        password = Addon.get_setting('password')
    if len(Addon.get_setting('email')) > 0 and len(Addon.get_setting('password')) > 0:
        Addon.set_setting('setup', 'true')
        dlg.ok(Addon.get_string(30000), Addon.get_string(200001), Addon.get_string(200000))
    else:
        dlg.ok(Addon.get_string(30000), Addon.get_string(20002),Addon.get_string(20003))
예제 #8
0
                'cid': c['cid'],
            },
            c['title'],
            img=c['img'],
            fanart=c['img'],
        )

    if channels['more']:
        Addon.add_directory(
            {
                'mode': 'list_channels',
                'cat': Addon.plugin_queries['cat'],
                'genre': Addon.plugin_queries.get('genre', ''),
                'type': Addon.plugin_queries.get('type', 'a'),
                'page': int(page) + 1,
            }, Addon.get_string(30000))

if mode == 'list_videos':
    page = Addon.plugin_queries.get('page', 0)
    Addon.log('%s: cid=%s page=%s' % (mode, Addon.plugin_queries['cid'], page))
    quality = ['360', '480'][int(Addon.get_setting('quality'))]
    videos = crack.get_videos(Addon.plugin_queries['cid'],
                              quality=quality,
                              page=page)

    for v in videos['items']:
        Addon.add_video_item(v['video_url'], {
            'title': v['title'],
            'plot': v['plot'],
            'cast': v['cast'],
            'director': v['director'],
예제 #9
0
파일: default.py 프로젝트: bialagary/mw
    else:
        Addon.set_setting('subscription', 'false')

if premium == False:
    Addon.set_setting('quality_type', '0')
quality_type = int(Addon.get_setting('quality_type'))
stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))]

Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle))
mode = Addon.plugin_queries['mode']
Addon.log(mode)

if mode == 'main':
    Addon.add_directory({'mode': 'live'}, Addon.get_string(30001))
    Addon.add_directory({'mode': 'favorites'}, Addon.get_string(30006))
    Addon.add_directory({'mode': 'tvguide'}, Addon.get_string(30007))
    if premium == True:
        Addon.add_directory({'mode': 'scheduled'}, Addon.get_string(30111))
        Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002))

elif mode == 'live':
    channels = ustv.get_channels(quality_type, stream_type, True)
    if channels:
        for c in channels:
            rURL = "plugin://plugin.video.ustvnow/?name=" + c[
                'name'] + "&mode=play"
            logo = xbmc.translatePath(
                os.path.join(plugin_path, 'resources', 'images',
                             c['name'] + '.png'))
예제 #10
0
setup = Addon.get_setting('setup')
setup_new = Addon.get_setting('setup_new')
email = Addon.get_setting('email')
password = Addon.get_setting('password')
ustv = ustvnow_plus.Ustvnow(email, password)

dlg = xbmcgui.Dialog()

Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle))

quality_type = int(Addon.get_setting('quality'))

if setup != 'true':
    dlg.ok(Addon.get_string(30000), Addon.get_string(20002),
           Addon.get_string(20003))
    # Enter Email
    retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM)
    if retval and len(retval) > 0:
        Addon.set_setting('email', str(retval))
        email = Addon.get_setting('email')
    # Enter Password
    retval = dlg.input(Addon.get_string(20005),
                       type=xbmcgui.INPUT_ALPHANUM,
                       option=xbmcgui.ALPHANUM_HIDE_INPUT)
    if retval and len(retval) > 0:
        Addon.set_setting('password', str(retval))
        password = Addon.get_setting('password')
    if len(Addon.get_setting('email')) > 0 and len(
            Addon.get_setting('password')) > 0:
예제 #11
0
                    'mix_name': mix['name'],
                    'img': mix['cover_urls']['max200'],
                    'user': mix['user']['login']
                },
                name,
                mix['cover_urls']['max200'],
                folder=False)
        if result['next_page']:
            Addon.add_directory(
                {
                    'mode': 'mixes',
                    'sort': sort,
                    'tag': tag,
                    'search': search,
                    'page': result['next_page']
                }, Addon.get_string(30015))
    else:
        if search:
            kb = xbmc.Keyboard('', Addon.get_string(30017), False)
            kb.doModal()
            if (kb.isConfirmed()):
                search = kb.getText()
        if mytag:
            kb = xbmc.Keyboard('', Addon.get_string(30018), False)
            kb.doModal()
            if (kb.isConfirmed()):
                tag = kb.getText()

        Addon.add_directory(
            {
                'mode': 'mixes',
예제 #12
0
mode = Addon.plugin_queries['mode']

quality = int(Addon.get_setting('quality'))

if mode == 'main':
    channels = tvtime.TVtime().get_channels(quality)
    if channels:
        for c in channels:
            channel = c['channel'];
            rURL = "plugin://plugin.video.tvtime.tva/?channel=" + channel + "&mode=play&rand=" + Addon.random_generator()
            logo = xbmc.translatePath(os.path.join(plugin_path, 'resources', 'images', 'logos', c['channel']+'.png'))
            title = c["title"].replace("&", "&").replace('"','"');
            title = title.replace("&", "&");
            title = '%s - %s' % (Addon.cleanChannel(channel), title)
            cm_refresh = (Addon.get_string(40000), 
                      'XBMC.RunPlugin(%s/?mode=refresh)' % 
                           (Addon.plugin_url))
            cm_menu = [cm_refresh]
            if quality == 3 and channel != 'PBS' and channel != 'My9':
                quality_name = 'High';
            elif quality == 2 and channel != 'PBS' and channel != 'My9':
                quality_name = 'High';
            elif quality == 1 and channel != 'PBS' and channel != 'My9':
                quality_name = 'Medium';
            else:
                quality_name = 'Low';
            Addon.add_video_item(rURL,
                                 {'title': title},
                                 img=logo, playable=True, HD=quality_name, cm=cm_menu, cm_replace=False)
            xbmcplugin.setContent(Addon.plugin_handle, 'movie')
예제 #13
0
파일: main.py 프로젝트: c0ns0le/YCBuilds
if int(Addon.get_setting('quality')) < 0:
    Addon.set_setting('quality', '0')
elif int(Addon.get_setting('quality')) > 3:
    Addon.set_setting('quality', '3')

if int(Addon.get_setting('rec_quality')) < 0:
    Addon.set_setting('rec_quality', '0')
elif int(Addon.get_setting('rec_quality')) > 2:
    Addon.set_setting('rec_quality', '2')

quality_type = int(Addon.get_setting('quality'))

rec_quality_type = int(Addon.get_setting('rec_quality'))

if setup != 'true':
    dlg.ok(Addon.get_string(30000),Addon.get_string(20002),Addon.get_string(20003))
    # Enter Email
    retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM)
    if retval and len(retval) > 0:
        Addon.set_setting('email', str(retval))
        email = Addon.get_setting('email')
    # Enter Password
    retval = dlg.input(Addon.get_string(20005), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT)
    if retval and len(retval) > 0:
        Addon.set_setting('password', str(retval))
        password = Addon.get_setting('password')
    if len(Addon.get_setting('email')) > 0 and len(Addon.get_setting('password')) > 0:
        Addon.set_setting('setup', 'true')
        dlg.ok(Addon.get_string(30000), Addon.get_string(200001), Addon.get_string(200000))
    else:
        dlg.ok(Addon.get_string(30000), Addon.get_string(20002),Addon.get_string(20003))
예제 #14
0
            infolabels,
            img=s['thumb'],
            total_items=16)


if play:
    q = Addon.parse_query(play)
    stream_url = rr.resolve_stream(q['mode'], int(q['song_id']))
    Addon.resolve_url(stream_url)

elif mode == 'music' or mode == 'video':
    sort = Addon.plugin_queries.get('sort', False)
    page = int(Addon.plugin_queries.get('page', 1))
    aux = Addon.plugin_queries.get('aux', '')
    if sort == 'search':
        kb = xbmc.Keyboard('', Addon.get_string(30027), False)
        kb.doModal()
        if (kb.isConfirmed()):
            query = kb.getText()
            if query:
                display_songs(mode, rr.search(mode, query))
    elif sort:
        if (sort == 'most_played' or sort == 'least_played') and not aux:
            Addon.add_directory({
                'mode': mode,
                'sort': sort,
                'aux': 'week'
            }, Addon.get_string(30010))
            Addon.add_directory({
                'mode': mode,
                'sort': sort,
예제 #15
0
Addon.log('plugin handle: ' + str(Addon.plugin_handle))

mode = Addon.plugin_queries['mode']
play = Addon.plugin_queries['play']

if play:
    Addon.log('play: %s mode: %s' % (play, mode))
    if mode == 'vid':
        stream_url = freedo.resolve_video(play)
    else:
        stream_url = freedo.resolve_stream(play)
    Addon.resolve_url(stream_url)

elif mode == 'main':
    Addon.log(mode)
    Addon.add_directory({'mode': 'list_live'}, Addon.get_string(30000))
    Addon.add_directory({'mode': 'list_vid'}, Addon.get_string(30001))

elif mode == 'list_live':
    pn = int(Addon.plugin_queries.get('pn', 1))
    Addon.log('mode: %s page: %d' % (mode, pn))
    channels = freedo.get_channels(pn)
    for c in channels['channels']:
        Addon.add_video_item(c['id'], {'title': c['name']}, img=c['img'])
    if channels['more']:
        Addon.add_directory({
            'mode': 'list_live',
            'pn': pn + 1
        }, Addon.get_string(30003))

elif mode == 'list_vid':
예제 #16
0
        add(Addon.build_query({'mode': mode, 
                               'song_id': s['song_id']}),
            infolabels, img=s['thumb'], total_items=16)


if play:
    q = Addon.parse_query(play)
    stream_url = rr.resolve_stream(q['mode'], int(q['song_id']))
    Addon.resolve_url(stream_url)
    
elif mode == 'music' or mode == 'video':
    sort = Addon.plugin_queries.get('sort', False)
    page = int(Addon.plugin_queries.get('page', 1))
    aux = Addon.plugin_queries.get('aux', '')
    if sort == 'search':
        kb = xbmc.Keyboard('', Addon.get_string(30027), False)
        kb.doModal()
        if (kb.isConfirmed()):
            query = kb.getText()
            if query:
                display_songs(mode, rr.search(mode, query))
    elif sort:
        if (sort == 'most_played' or sort == 'least_played') and not aux:
            Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'week'}, 
                                Addon.get_string(30010))
            Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'month'}, 
                                Addon.get_string(30011))
            Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'year'}, 
                                Addon.get_string(30012))
            Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'all'}, 
                                Addon.get_string(30013))
예제 #17
0
elif mode == 'browse':
    page = int(Addon.plugin_queries.get('page', 0))
    res_per_page = int(Addon.get_setting('res_per_page'))
    genre = Addon.plugin_queries.get('genre', '')
    sort = Addon.plugin_queries.get('sort', False)

    Addon.log('browse genre: %s, page: %d' % (genre, page))

    if genre:
        if not sort:
            sort = int(Addon.get_setting('sort'))

            if sort == 2:
                dialog = xbmcgui.Dialog()
                sort = dialog.select(
                    Addon.get_string(30029),
                    [Addon.get_string(30030),
                     Addon.get_string(30031)])  #,
                #Addon.get_string(30032)])

            sort = ['views', 'recent'][sort]

        videos = muzu.browse_videos(genre, sort, page, res_per_page,
                                    Addon.get_setting('country'))

        if videos == None:
            videos = []
            mode = 'error'

        for v in videos:
            title = '%s: %s' % (v['artist'], v['title'])
예제 #18
0
     if sort == EightTracks.SORT_LIKED:
         result = et.liked_mixes(page)
     else:
         result = et.mixes(sort, tag, search, page)
     mixes = result['mixes']
     for mix in mixes:
         name = '%s by %s (%s)' % (mix['name'], mix['user']['login'],
                                   mix['tag_list_cache'])
         Addon.add_directory({'play': mix['id'], 'mix_name': mix['name'], 
                              'img': mix['cover_urls']['max200'],
                              'user': mix['user']['login']}, 
                             name, mix['cover_urls']['max200'], folder=False)
     if result['next_page']:
         Addon.add_directory({'mode': 'mixes', 'sort': sort, 'tag': tag, 
                              'search': search, 'page': result['next_page']}, 
                             Addon.get_string(30015))
 else:
     if search:
         kb = xbmc.Keyboard('', Addon.get_string(30017), False)
         kb.doModal()
         if (kb.isConfirmed()):
             search = kb.getText()
     if mytag:
         kb = xbmc.Keyboard('', Addon.get_string(30018), False)
         kb.doModal()
         if (kb.isConfirmed()):
             tag = kb.getText()
     
     Addon.add_directory({'mode': 'mixes', 'tag': tag, 'search': search, 
                          'sort': EightTracks.SORT_RECENT}, 
                         Addon.get_string(30011))
예제 #19
0
  
elif mode == 'browse':
    page = int(Addon.plugin_queries.get('page', 0))
    res_per_page = int(Addon.get_setting('res_per_page'))
    genre = Addon.plugin_queries.get('genre', '')
    sort = Addon.plugin_queries.get('sort', False)
    
    Addon.log('browse genre: %s, page: %d' % (genre, page))

    if genre:
        if not sort:
            sort = int(Addon.get_setting('sort'))

            if sort == 2:
                dialog = xbmcgui.Dialog()
                sort = dialog.select(Addon.get_string(30029),
                                     [Addon.get_string(30030),
                                      Addon.get_string(30031)])#,
                                      #Addon.get_string(30032)])
                                                  
            sort = ['views', 'recent'][sort]
                
        videos = muzu.browse_videos(genre, sort, page, res_per_page, Addon.get_setting('country'))
            
        if videos == None:
            videos = []
            mode = 'error'

        for v in videos:
            title = '%s: %s' % (v['artist'], v['title'])
            Addon.add_video_item(str(v['asset_id']),
예제 #20
0
        Addon.add_directory({'mode': 'list_videos', 
                             'cid': c['cid'],
                             }, 
                            c['title'],
                            img=c['img'],
                            fanart=c['img'],
                            )

    if channels['more']:
        Addon.add_directory({'mode': 'list_channels', 
                             'cat': Addon.plugin_queries['cat'],
                             'genre': Addon.plugin_queries.get('genre', ''),
                             'type': Addon.plugin_queries.get('type', 'a'),
                             'page': int(page) + 1,
                             }, 
                            Addon.get_string(30000))

if mode == 'list_videos':
    page = Addon.plugin_queries.get('page', 0)
    Addon.log('%s: cid=%s page=%s' % (mode, Addon.plugin_queries['cid'], page))
    quality = ['360', '480'][int(Addon.get_setting('quality'))]
    videos = crack.get_videos(Addon.plugin_queries['cid'], quality=quality, page=page)

    for v in videos['items']:
        Addon.add_video_item(v['video_url'],
                             {'title': v['title'],
                              'plot': v['plot'], 
                              'cast': v['cast'],
                              'director': v['director'],
                              'mpaa': v['mpaa'],
                              }, 
예제 #21
0
Addon.plugin_handle = int(sys.argv[1])
Addon.plugin_queries = Addon.parse_query(sys.argv[2][1:])

email = Addon.get_setting('email')
password = Addon.get_setting('password')
ustv = ustvnow.Ustvnow(email, password)

Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle))

mode = Addon.plugin_queries['mode']

if mode == 'main':
    Addon.log(mode)
    Addon.add_directory({'mode': 'live'}, Addon.get_string(30001))
    Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002))

elif mode == 'live':
    Addon.log(mode)
    stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))]
    channels = ustv.get_channels(int(Addon.get_setting('quality')), 
                                     stream_type)
    for c in channels:
        Addon.add_video_item(c['url'],
                             {'title': '%s - %s' % (c['name'], 
                                                    c['now']['title']),
                              'plot': c['now']['plot']},
                             img=c['icon'])

elif mode == 'recordings':
예제 #22
0
Addon.log('plugin handle: ' + str(Addon.plugin_handle))

mode = Addon.plugin_queries['mode']
play = Addon.plugin_queries['play']

if play:
    Addon.log('play: %s mode: %s' % (play, mode))    
    if mode == 'vid':
        stream_url = freedo.resolve_video(play)
    else:    
        stream_url = freedo.resolve_stream(play)
    Addon.resolve_url(stream_url)
    
elif mode == 'main':
    Addon.log(mode)
    Addon.add_directory({'mode': 'list_live'}, Addon.get_string(30000))
    Addon.add_directory({'mode': 'list_vid'}, Addon.get_string(30001))

elif mode == 'list_live':
    pn = int(Addon.plugin_queries.get('pn', 1))
    Addon.log('mode: %s page: %d' % (mode, pn))
    channels = freedo.get_channels(pn)
    for c in channels['channels']:
        Addon.add_video_item(c['id'], {'title': c['name']}, img=c['img'])
    if channels['more']:
        Addon.add_directory({'mode': 'list_live',
                             'pn': pn + 1}, Addon.get_string(30003))
        
elif mode == 'list_vid':
    pn = int(Addon.plugin_queries.get('pn', 1))
    Addon.log('mode: %s page: %d' % (mode, pn))
예제 #23
0
파일: default.py 프로젝트: bialagary/mw
    else:
        Addon.set_setting('subscription', 'false')
 
if premium == False:
    Addon.set_setting('quality_type', '0')       
quality_type = int(Addon.get_setting('quality_type'))
stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))]
    
Addon.log('plugin url: ' + Addon.plugin_url)
Addon.log('plugin queries: ' + str(Addon.plugin_queries))
Addon.log('plugin handle: ' + str(Addon.plugin_handle))
mode = Addon.plugin_queries['mode']
Addon.log(mode)

if mode == 'main':
    Addon.add_directory({'mode': 'live'}, Addon.get_string(30001))
    Addon.add_directory({'mode': 'favorites'}, Addon.get_string(30006))
    Addon.add_directory({'mode': 'tvguide'}, Addon.get_string(30007))
    if premium == True:
        Addon.add_directory({'mode': 'scheduled'}, Addon.get_string(30111))
        Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002))

elif mode == 'live':
    channels = ustv.get_channels(quality_type, stream_type, True)
    if channels:
        for c in channels:
            rURL = "plugin://plugin.video.ustvnow/?name="+c['name']+"&mode=play"
            logo = xbmc.translatePath(os.path.join(plugin_path, 'resources', 'images', c['name']+'.png'))
            item = xbmcgui.ListItem(path=rURL)
            name = c["name"];
            sname = c["sname"];
예제 #24
0
                Addon.add_directory({'mode': c['title']},
                                    c['title'],
                                    img=c['img'])
        if len(Addon.get_setting('notify')) > 0:
            Addon.set_setting('notify',
                              str(int(Addon.get_setting('notify')) + 1))
        else:
            Addon.set_setting('notify', "1")
        if int(Addon.get_setting('notify')) == 1:
            xbmcgui.Dialog().notification(addonname + ' is provided by:',
                                          'www.tvaddons.co', addon_logo, 5000,
                                          False)
        elif int(Addon.get_setting('notify')) == 9:
            Addon.set_setting('notify', "0")
    except:
        dlg.ok(Addon.get_string(5000), Addon.get_string(8000))
        exit()


def show_streams(title, playlist_id):
    if mode == title:
        streams = source.Source().get_streams(playlist_id)
        if streams:
            for c in streams:
                title = c['title']
                channel = c['title']
                videoId = c['videoId']
                img = c['img']
                rURL = Addon.plugin_url + "?channel=" + channel + "&videoId=" + videoId + "&mode=play"
                Addon.add_video_item(rURL, {'title': title}, img=img)