# -*- coding: utf-8 -*- #""" import libdaserste libdaserste.list() """ import libDasErste import utils import json import xbmc import xbmcgui import xbmcplugin import xbmcaddon import libMediathek2 __settings__ = xbmcaddon.Addon() CACHEFILE = xbmc.validatePath(xbmc.translatePath(__settings__.getAddonInfo('profile')+"cache.json")) def main(): xbmc.log('#####Main') #"#"" if utils.f_check_existance(CACHEFILE) and 'mode' in params: xbmc.log('stub') return True elif utils.f_check_existance(CACHEFILE): "#"" if utils.f_check_existance(CACHEFILE): sub = True xbmc.log(str(params)) #if 'id' in params: # #parsedicts(dProxy) # return play() dProxy = retrive() xbmc.log('retive') videoList = dProxy['videoList'] url = dProxy['next']['url'] i = len(videoList)# + 1 else: sub = False xbmc.log('new') url = 'http://www.daserste.de/dasersteapp/app/index~series_serial-beckmannHashtag_types-sendung,sendebeitrag_pageNumber-0.json' dProxy = {} n = {} dProxy['next'] = n videoList = [] i = 0 lvidlist = len(videoList) l = libDasErste.getVideo(url) xbmc.log(str(l)) for d in l: if d['type'] == 'nextPage': dProxy['next']['url'] = 'http://www.daserste.de/dasersteapp/app/index~series_serial-beckmannHashtag_types-sendung,sendebeitrag_pageNumber-1.json' else: d2 = {} d2['_name'] = d['name'] d2['_plot'] = d['plot'] d2['_thumb'] = d['thumb'] xbmc.log(d['url']) d2['url'] = d['url'] d2['mode'] = 'play' #d2['mode'] = 'main' d2['_type'] = 'video' #d2['id'] = str(i) i += 1 videoList.append(d2) dProxy['next']['url'] = 'http://www.daserste.de/dasersteapp/app/index~series_serial-beckmannHashtag_types-sendung,sendebeitrag_pageNumber-1.json' dProxy['videoList'] = videoList parsedicts(dProxy) write(dProxy) return sub,lvidlist """ """ def play(): dProxy = retrive() xbmc.log('###########ids') xbmc.log(str(len(dProxy['videoList']))) xbmc.log(params['id']) if len(dProxy['videoList']) < int(params['id']) + 1: xbmc.log('#####videostub') xbmcplugin.endOfDirectory(int(sys.argv[1]),succeeded=False) #listitem = xbmcgui.ListItem() #xbmcplugin.setResolvedUrl(pluginhandle, False, listitem) return True""" """ def play(): #dProxy = retrive() xbmc.log('##########################play') xbmc.log(params['url']) vidUrl = libDasErste.getVideoUrl(params['url']) #listitem = xbmcgui.ListItem(label='HORRIBLEHACK',path=vidUrl) #xbmc.Player().play(vidUrl, listitem) #xbmcplugin.endOfDirectory(int(sys.argv[1]),succeeded=False) #vidUrl = libDasErste.getVideoUrl(dProxy['videoList'][int(params['id'])]['_url']) listitem = xbmcgui.ListItem(path=vidUrl) xbmcplugin.setResolvedUrl(pluginhandle, True, listitem) return False,False def parsedicts(dProxy): libMediathek2.addEntries(dProxy['videoList']) libMediathek2.addEntries([{'_name':'next','_type':'dir','id':str(len(dProxy['videoList'])),'mode':'main'}]) def stub(): l = libDasErste.getVideo('http://www.daserste.de/dasersteapp/app/index~series_serial-beckmannHashtag_types-sendung,sendebeitrag_pageNumber-0.json') #xbmc.log() def write(dProxy): data = json.dumps(dProxy) utils.f_write(CACHEFILE,data) def add(l): l2 = json.loads(utils.f_open(CACHEFILE)) l = l + l2 data = json.dumps(l) utils.f_write(CACHEFILE,data) def retrive(): return json.loads(utils.f_open(CACHEFILE)) def list(): xbmc.log("xbmc.getInfoLabel('System.CurrentControl')") xbmc.log(xbmc.getInfoLabel('System.CurrentControl')) modes = { 'play':play } global params params = libMediathek2.get_params() global pluginhandle pluginhandle = int(sys.argv[1]) if not params.has_key('mode'): isSubfolder,lvidlist = main() else: isSubfolder,lvidlist = modes.get(params['mode'],main)() if isSubfolder: xbmcplugin.endOfDirectory(int(sys.argv[1]),updateListing=True,cacheToDisc=True) else: xbmcplugin.endOfDirectory(int(sys.argv[1])) xbmc.log('##########wnd') #wnd = xbmcgui.Window(xbmcgui.getCurrentWindowId()) #p = wnd.getControl(wnd.getFocusId()).getSelectedPosition() #xbmc.log(str(p)+'#') #xbmc.log(xbmc.getInfoLabel('System.CurrentControl')) try: wnd = xbmcgui.Window(xbmcgui.getCurrentWindowId()) wnd.getControl(wnd.getFocusId()).selectItem(0) wnd.getControl(wnd.getFocusId()).selectItem(lvidlist+1) except: pass list() #"""