# -*- coding: iso-8859-1 -*- import urllib,urllib2,re,xbmcplugin,xbmcgui pluginhandle = int(sys.argv[1]) def CATEGORIES(): req = urllib2.Request('http://www.kikaninchen.de/kikaninchen/filme/filme100-flashXml.xml') req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0') response = urllib2.urlopen(req) link=response.read() response.close() match_links=re.compile('(.+?)', re.DOTALL).findall(link) links=re.compile('(.+?).+?(.+?)', re.DOTALL).findall(match_links[0]) for thumb,url in links: name = thumb if 'baumhaus' in thumb: name = 'Baumhaus' if 'bummi' in thumb: name = 'Bummi' if 'dreizweieins' in thumb: name = '3, 2, 1... keins! - Das OLI-Quiz' if 'enemenebu' in thumb: name = 'ENE MENE BU' if 'einemoehrefuerzwei' in thumb: name = 'Eine Möhre für Zwei' if 'ernieundbert' in thumb: name = 'Ernie & Bert im Land der Träume' if 'ernieundbertsongs' in thumb: name = 'Ernie und Bert Songs' # wird nicht ausgelesen, da es unter gelistet ist # if 'kikaninchenfilme' in thumb: # name = 'Kikaninchenfilme' # ist leer, da es hier noch Unterkategorien gibt. http://www.kikaninchen.de/kikaninchen/filme/kikaninchenfilme/auswahlkikaninchenfilme102-flashXml.xml if 'ichkenneeintier' in thumb: name = 'Ich kenne ein Tier' if 'mitmachmuehle' in thumb: name = 'Mit-Mach-Mühle' if 'oliswildewelt' in thumb: name = 'OLI\'s Wilde Welt' if 'prinzessinlillifee' in thumb: name = 'Prinzessin Lillifee' if 'rudiundtrudi' in thumb: name = 'Rudi & Trudi' if 'sandmann' in thumb: name = 'Sandmännchen' if 'sendungmitdemelefanten' in thumb: name = 'Die Sendung mit dem Elefanten' if 'sesamstrasse' in thumb: name = 'Sesamstraße' if 'singasmusikbox' in thumb: name = 'Singas Musikbox' if 'tomunddaserdbeermarmeladebrot' in thumb: name = 'TOM und das Erdbeermarmeladebrot mit Honig' if 'williwiberg' in thumb: name = 'Willi Wiberg' if 'zigbydaszebra' in thumb: name = 'Zigby, das Zebra' if 'zoeszauberschrank' in thumb: name = 'Zoes Zauberschrank' if not 'http' in name: addDir(name,url,1,thumb) def VIDEOS(url,name):#1 req = urllib2.Request(url) req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0') response = urllib2.urlopen(req) link=response.read() response.close() movies=re.compile('(.+?)', re.DOTALL).findall(link) for movie in movies: title = re.compile('(.+?)').findall(movie) thumb = re.compile('(.+?)').findall(movie) # Bild mit höherer Auflösung vom previewImage-Tag statt vom image-Tag video = re.compile('(.+?)').findall(movie) rtmp = 'rtmp://85.239.122.166/vod/'+video[1] addLinkOld(title[0],rtmp,thumb[0]) def get_params(): param=[] paramstring=sys.argv[2] if len(paramstring)>=2: params=sys.argv[2] cleanedparams=params.replace('?','') if (params[len(params)-1]=='/'): params=params[0:len(params)-2] pairsofparams=cleanedparams.split('&') param={} for i in range(len(pairsofparams)): splitparams={} splitparams=pairsofparams[i].split('=') if (len(splitparams))==2: param[splitparams[0]]=splitparams[1] return param def addLinkOld(name,url,iconimage): ok=True liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage) liz.setInfo( type="Video", infoLabels={ "Title": name } ) ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz) return ok def addLink(name,url,mode,iconimage): u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name) ok=True liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage) liz.setInfo( type="Video", infoLabels={ "Title": name } ) liz.setProperty('IsPlayable', 'true') ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz) return ok def addDir(name,url,mode,iconimage): u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name) ok=True liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage) liz.setInfo( type="Video", infoLabels={ "Title": name } ) ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True) return ok params=get_params() url=None name=None mode=None try: url=urllib.unquote_plus(params["url"]) except: pass try: name=urllib.unquote_plus(params["name"]) except: pass try: mode=int(params["mode"]) except: pass print "Mode: "+str(mode) print "URL: "+str(url) print "Name: "+str(name) if mode==None or url==None or len(url)<1: print "" CATEGORIES() elif mode==1: print ""+url VIDEOS(url,name) xbmcplugin.endOfDirectory(int(sys.argv[1]))