Ich dachte mir vielleicht ich erkläre mal die Nutzung das Addons. Fas jemand das nutzen will, da es etwas umständlich für den Programmierer ist
Funtkion für User: Das Addon added Serien aus anderen Plugins in die Mediathek. Die Anderen Addons müßen dies aber als Funktionalität einbauen.
Dieses Addon wird von anderen Plugins verwendet
Das Script läuft im Hintergrund. und aktualisiert die Files alle N Stunden. Damit fallen alte Videos dies es nicht im Plugin gibt raus. Neue kommen automatisiert zu so das man das Addon selber Manuel nicht mehr aufrufen muss.
Sollten Links ablaufen werden die Aktualsiert
Für Programierer:
Eine Serie Adden kann man mit :
1.
Man muss eine Funtkion schreiben das eine Serie als Strm generiert
Als Beispiel wäre mit entsprechen NFO File (Dieses File muss natuerlich Pro Episode generiert werden (Auser dem Serien nfo file):
# PPATH= Pfad wo die serien Insollen z.b C:\Serien
#titlef sollte sein entweder "Folge24" oder "SerieA\Folge24")
# Filename wird gesetzt für die Folge
filename=os.path.join(ppath,titlef+".strm")
#####NFO FILE Inhalt für eine Folge wird erstellt
nfostring="""
<episodedetails>
<title>%s</title>
<season>%s</season>
<episode>%s</episode>
<showtitle>%s</showtitle>
<plot>%s</plot>
<runtime>%s</runtime>
<thumb aspect="" type="" season="">%s</thumb>
<aired>%s</aired>
</tvshow>"""
# Ihalte das NFO file für die eire
nfoseriestring="""
<tvshow>
<title>%s</title>
<plot>%s</plot>
<thumb aspect="" type="" season="">%s</thumb>
</tvshow>
"""
#Daten befüllen
nfostring=nfostring%(folgenname,str(sstaffel).encode("utf-8"),folgenr,serienname.encode("utf-8"),plot.encode("utf-8"),str(laengemin),bild,airdate)
nfoseriestring=nfoseriestring%(serienname.encode("utf-8"),seriendesc.encode("utf-8"),serienbild.encode("utf-8"))
# NFO File der File muss gleich der Folge heissen
nfofile=os.path.join(ppath,titlef+".nfo")
file = xbmcvfs.File(nfofile,"w")
file.write(nfostring)
file.close()
#Schreiben des VideoFiles
file = xbmcvfs.File(filename,"w")
# Hier muss man die URL Reinstellen die das Video dan direkt abspielen kann. Beispiel des TVNow Plugin:
file.write("plugin://plugin.video.rtlnow/mode=playfolge&url="+urllib.quote_plus(str(url))+"&nummer="+str(idd))
file.close()
# NFO der Serie Schreiben
nfofile=os.path.join(ppath,"tvshow.nfo")
file = xbmcvfs.File(nfofile,"w")
file.write(nfoseriestring)
Jetzt Baut man im Content Menu ein:
Alles anzeigen
2. CRON Aufrufen aus dem Addon:
# url=URL der Serie damit GenerateFiles weiß was es generieren SOll
# Die URL muss ensprechend gequotet sein
urlx=urllib.quote_plus(url)
# Die Url das Plugins mit Parametern für Generierung der File
urln="plugin://plugin.video.rtlnow?mode=generatefiles&url="+urlx+"&name="+name
# Adden der Serien in dem Cron Plugin
Parameter sind:
mode=adddate (Damit weis er er soll die Serie Mitaufnehemen)
name= Name der Serie damit er die im Cron Addon anzeigen kann, wenn man eine Serie Löschen will
stunden= Wie Oft los das Cron Plugin die URL zum generieren aufrufen
url= Url die die Files Generiert
xbmc.executebuiltin('XBMC.RunPlugin(plugin://service.L0RE.cron/?mode=adddata&name=%s&stunden=%s&url=%s)'%(name,stunden,urln))
Alles anzeigen
Warum so Umständlich:
So kann man im Addon den Pfad einstellen, wie oft es Aktualisiert werden soll. Das Generieren der .strm files.
So das das Cron wirklich nur zwei Funktion hat a) das Plugin all N Stunden aufrufen, und dem User die Möglichkeit zu geben die Serie wieder zu löschen
Ich hoffe es ist eingier massen Verständlich,Bin nicht der Beste im Erklären