# -*- 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]))