nein, hab ich mir noch nicht angesehen...
Bin grad noch mit dem SerienPlaner beschäftigt...
eventuell komme ich am Wochenende dazu...
Beiträge von sveni_lee
-
-
hmm... das war es leider nicht...
-
Wenn diese Zeile tatsächlich 1:1 aus dem Skript rauskopiert wurde, würde diese einen Fehler werfen, denn es gibt kein plugin.script.sereinplaner (Schreibfehler).
ja, das ist unter Anderem auch ein Schreibfehler.
Aber wie ich geschrieben habe, habe ich diesen Programaufruf rausgenommen, da er meines erachtens keinen Sinn macht... Ich habe ja schon alle information und muß nicht noch einmal scrapen...
Bei TVHighLight wurde das ja so eingebaut, da die Detailinformationen neu gescraped werden um auch die Anzahl der Seitenaufrufe zu minimieren...Korrigiert mich, wenn ich falsch liege...
-
in meinem Fall gar nichts mehr...
da beim SerienPlaner ja alle details schon gescraped sind und alle Propertys schon
gesetzt sind...Im Fall von TVHighLights wird mit diesem Programaufruf der DetailScraper gestartet und das InfoFenster
geöffnet...Ich muß ja irgendwie die Properties in nächste Fenster übergeben...
-
Ich bin grad ein wenig damit beschäftigt, das ganze in confluence zu integrieren und stoße grad auf folgendes Problem...
das öffnen des Infofensters habe ich über ein ActivateWindow(1199) gelöst, das item sieht also so aus...
XML
Alles anzeigen<item> <property name="channel">$INFO[Window.Property(SerienPlaner.1.Channel)]</property> <property name="poster">$INFO[Window.Property(SerienPlaner.1.Poster)]</property> <property name="plot">$INFO[Window.Property(Serienplaner.1.Description)]</property> <property name="staffel">$INFO[Window.Property(SerienPlaner.1.Staffel)]</property> <property name="episode">$INFO[Window.Property(SerienPlaner.1.Episode)]</property> <property name="starttime">$INFO[Window.Property(SerienPlaner.1.Starttime)]</property> <property name="rating">$INFO[Window.Property(SerienPlaner.1.Rating)]</property> <property name="senderlogo">$INFO[Window.Property(SerienPlaner.1.Logo)]</property> <property name="genre">$INFO[Window.Property(SerienPlaner.1.Genre)]</property> <property name="date">$INFO[Window.Property(SerienPlaner.1.Datum)]</property> <property name="runtime">$INFO[Window.Property(SerienPlaner.1.RunningTime)]</property> <property name="studio">$INFO[Window.Property(SerienPlaner.1.Studio)]</property> <property name="year">$INFO[Window.Property(SerienPlaner.1.Jahr)]</property> <property name="altersfreigabe">$INFO[Window.Property(SerienPlaner.1.Altersfreigabe)]</property> <label>$INFO[Window.Property(SerienPlaner.1.Title)]</label> <label2>$INFO[Window.Property(SerienPlaner.1.TVShow)]</label2> <thumb>$INFO[Window.Property(SerienPlaner.1.Thumb)]</thumb> <icon>$INFO[Window.Property(SerienPlaner.1.Poster)]</icon> <onclick>ActivateWindow(1199)</onclick> <visible>!IsEmpty(Window.Property(SerienPlaner.1.TVShow))</visible> </item>
um die Propertys in das Info-Window zu bekommen habe ich in der Übersicht ein include eingefügtXML<include name="onclick"> <onclick>SetProperty(Widget.Title,$INFO[ListItem.Label2],home)</onclick> <onclick>SetProperty(Widget.Senderlogo,$INFO[ListItem.Property(Senderlogo)],home)</onclick> </include>
der Aufruf im Info-Window ist dann wie folgt...XML<control type="image"> <description>Channel Logo</description> <left>640</left> <top>355</top> <width>80</width> <height>42</height> <texture border="5">$INFO[Window(Home).Property(Widget.Senderlogo)]</texture> <aspectratio>scale</aspectratio> </control>
aber irgendwie wird da nicht angezeigt...
bei meinem anderen Skin klappt das...
-
-
Hast Du ein PVR-Client installiert?
EDIT:
Es sieht so aus das er bei dier wg dem fehlenden Icon meckert...
probier das von TVHighlights oder Newscenter in den ordner plugin-program-serienplaner zu kopieren... -
ja... du siehst für jede Serie die abgefragt wird dann den Infoblock...
-
Wenn du den [definition='1','4']Debuglog[/definition] enabled hast, wird das Plugin extrem gesprächig und zeigt dir an, was gerade geladen wird...
Bei sind es immer über 100 items.... -
Ist die dritte Liga nicht 4 geteilt... dann müsste man wieder alle 4 Regionen reinbringen...
Wird das nicht ein wenig viel? -
Hallo zusammen,
ich habe eine Überlegung bzw eine Frage an alle die sich mit Python auskennen...
Also bisher ist es ja so, das die informationen bzw. die Propertys in ein include oder content
gepackt werden müssen. Das ist schon einiges an Arbeit...
Zudem wurde der wunsch an mich herangetragen, dass ganze in eine "Befehlszeile zu packen" in der
Art wie es bei dem NewPlugin funktioniert...Um da einen Einblick zu bekommen habe ich mir mal das Nextaired Plugin angesehen. Dort wird mit einer Datenbank gearbetet in die alle informationen eingetragen werden...
Code
Alles anzeigen[{80379: { 'Status': 'Continuing', 'last_updated': 1459732513, 'Genres': 'Comedy', 'Show Name': 'The Big Bang Theory', 'art': {'fanart': u'image://smb%3a%2f%2fGOTHAM-CITY%2fDatengrab_xbmx%2fSerien%2fThe%20Big%20Bang%20Theory%2ffanart.jpg/', 'poster': u'image://smb%3a%2f%2fGOTHAM-CITY%2fDatengrab_xbmx%2fSerien%2fThe%20Big%20Bang%20Theory%2fposter.jpg/', 'fudged.clearlogo': True, 'banner': u'image://smb%3a%2f%2fGOTHAM-CITY%2fDatengrab_xbmx%2fSerien%2fThe%20Big%20Bang%20Theory%2fbanner.jpg/', 'clearlogo': 'image://http%3A%2F%2Fassets.fanart.tv%2Ffanart%2Ftv%2F80379%2Fhdtvlogo%2Fthe-big-bang-theory-50477a642f672.png/'}, 'Network': 'CBS', 'Started': '2007-09-24', 'dbid': 'videodb://tvshows/titles/2/', 'ep_ndx': 1, 'episodes': [{ 'aired': '2016-04-01T02:00:00+02:00', 'en': 19, 'name': 'The Solder Excursion Diversion', 'sn': 9, 'date': '2016-03-31', 'wday': 4 }, { 'aired': '2016-04-08T02:00:00+02:00', 'en': 20, 'name': 'The Big Bear Precipitation', 'sn': 9, 'date': '2016-04-07', 'wday': 4 }, { 'aired': '2016-04-22T02:00:00+02:00', 'en': 21, 'name': 'The Viewer Party Combustion', 'sn': 9, 'date': '2016-04-21', 'wday': 4 }, { 'aired': '2016-04-29T02:00:00+02:00', 'en': 22, 'name': 'TBA', 'sn': 9, 'date': '2016-04-28', 'wday': 4 }, { 'aired': '2016-05-06T02:00:00+02:00', 'en': 23, 'name': 'TBA', 'sn': 9, 'date': '2016-05-05', 'wday': 4 }, { 'aired': '2016-05-13T02:00:00+02:00', 'en': 24, 'name': 'TBA', 'sn': 9, 'date': '2016-05-12', 'wday': 4 } ], 'profiles': {'': 1}, 'Airtime': '20:00', 'Country': 'USA', 'Premiered': 2007, 'path': u'smb://GOTHAM-CITY/Datengrab_xbmx/Serien/The Big Bang Theory/', 'localname': 'The Big Bang Theory', 'TZ': 'America/New_York', 'thumbnail': u'image://smb%3a%2f%2fGOTHAM-CITY%2fDatengrab_xbmx%2fSerien%2fThe%20Big%20Bang%20Theory%2fposter.jpg/', 'Runtime': 25, 'eps_last_updated': 1459699916},
die aktualisierung könnte ja im Hintergrund laufen mit bis zu 15 Tagen Vorlauf....
Die Properties könnten dann aus der Datenbank befüllt werden.
Bspw. kann das wird das Widget Nextaired in meinem Skin wird der Inhalt nur mit einer Befehlszeile befüllt.XML<shortcut label="Next Aired" condition="System.HasAddon(script.skin.helper.service) + System.HasAddon(script.tv.show.next.aired)" icon="logos/tsna-logo.png" widget="library" widgetType="episodes" widgetTarget="video">plugin://script.skin.helper.service/?action=nextairedtvshows&limit=25&reload=$INFO[Window(Home).Property(widgetreload)]</shortcut>
also habe ich mir mal angesehen, was "action=nextairedtvshow" eigendlich bewirkt oder auslöst...
Pythonif xbmc.getCondVisibility("System.HasAddon(script.tv.show.next.aired)"): addDirectoryItem(ADDON.getLocalizedString(32055), "plugin://script.skin.helper.service/?action=nextairedtvshows&limit=100")
Python
Alles anzeigendef NEXTAIREDTVSHOWS(limit): count = 0 allItems = [] #get data from next aired script nextairedTotal = WINDOW.getProperty("NextAired.Total") if nextairedTotal: nextairedTotal = int(nextairedTotal) for count in range(nextairedTotal): tvshow = WINDOW.getProperty("NextAired.%s.Label"%str(count)).decode("utf-8") if tvshow: json_result = getJSON('VideoLibrary.GetTvShows','{ "filter": {"operator":"is", "field":"title", "value":"%s"}, "properties": [ %s ] }' %(tvshow,fields_tvshows)) if len(json_result) > 0: item = json_result[0] extraprops = {} extraprops["airtime"] = WINDOW.getProperty("NextAired.%s.AirTime"%str(count)).decode("utf-8") extraprops["Path"] = WINDOW.getProperty("NextAired.%s.Path"%str(count)).decode("utf-8") extraprops["Library"] = WINDOW.getProperty("NextAired.%s.Library"%str(count)).decode("utf-8") extraprops["Status"] = WINDOW.getProperty("NextAired.%s.Status"%str(count)).decode("utf-8") extraprops["StatusID"] = WINDOW.getProperty("NextAired.%s.StatusID"%str(count)).decode("utf-8") extraprops["Network"] = WINDOW.getProperty("NextAired.%s.Network"%str(count)).decode("utf-8") extraprops["Started"] = WINDOW.getProperty("NextAired.%s.Started"%str(count)).decode("utf-8") extraprops["Genre"] = WINDOW.getProperty("NextAired.%s.Genre"%str(count)).decode("utf-8") extraprops["Premiered"] = WINDOW.getProperty("NextAired.%s.Premiered"%str(count)).decode("utf-8") extraprops["Country"] = WINDOW.getProperty("NextAired.%s.Country"%str(count)).decode("utf-8") extraprops["Runtime"] = WINDOW.getProperty("NextAired.%s.Runtime"%str(count)).decode("utf-8") extraprops["Fanart"] = WINDOW.getProperty("NextAired.%s.Fanart"%str(count)).decode("utf-8") extraprops["Today"] = WINDOW.getProperty("NextAired.%s.Today"%str(count)).decode("utf-8") extraprops["NextDate"] = WINDOW.getProperty("NextAired.%s.NextDate"%str(count)).decode("utf-8") extraprops["NextDay"] = WINDOW.getProperty("NextAired.%s.NextDay"%str(count)).decode("utf-8") extraprops["NextTitle"] = WINDOW.getProperty("NextAired.%s.NextTitle"%str(count)).decode("utf-8") extraprops["NextNumber"] = WINDOW.getProperty("NextAired.%s.NextNumber"%str(count)).decode("utf-8") extraprops["NextEpisodeNumber"] = WINDOW.getProperty("NextAired.%s.NextEpisodeNumber"%str(count)).decode("utf-8") extraprops["NextSeasonNumber"] = WINDOW.getProperty("NextAired.%s.NextSeasonNumber"%str(count)).decode("utf-8") extraprops["LatestDate"] = WINDOW.getProperty("NextAired.%s.LatestDate"%str(count)).decode("utf-8") extraprops["LatestDay"] = WINDOW.getProperty("NextAired.%s.LatestDay"%str(count)).decode("utf-8") extraprops["LatestTitle"] = WINDOW.getProperty("NextAired.%s.LatestTitle"%str(count)).decode("utf-8") extraprops["LatestNumber"] = WINDOW.getProperty("NextAired.%s.LatestNumber"%str(count)).decode("utf-8") extraprops["LatestEpisodeNumber"] = WINDOW.getProperty("NextAired.%s.LatestEpisodeNumber"%str(count)).decode("utf-8") extraprops["LatestSeasonNumber"] = WINDOW.getProperty("NextAired.%s.LatestSeasonNumber"%str(count)).decode("utf-8") extraprops["AirDay"] = WINDOW.getProperty("NextAired.%s.AirDay"%str(count)).decode("utf-8") extraprops["ShortTime"] = WINDOW.getProperty("NextAired.%s.ShortTime"%str(count)).decode("utf-8") extraprops["SecondWeek"] = WINDOW.getProperty("NextAired.%s.SecondWeek"%str(count)).decode("utf-8") extraprops["Art(poster)"] = WINDOW.getProperty("NextAired.%s.Art(poster)"%str(count)).decode("utf-8") extraprops["Art(fanart)"] = WINDOW.getProperty("NextAired.%s.Art(fanart)"%str(count)).decode("utf-8") extraprops["Art(landscape)"] = WINDOW.getProperty("NextAired.%s.Art(landscape)"%str(count)).decode("utf-8") extraprops["Art(clearlogo)"] = WINDOW.getProperty("NextAired.%s.Art(clearlogo)"%str(count)).decode("utf-8") extraprops["Art(clearart)"] = WINDOW.getProperty("NextAired.%s.Art(clearart)"%str(count)).decode("utf-8") extraprops["Art(characterart)"] = WINDOW.getProperty("NextAired.%s.Art(characterart)"%str(count)).decode("utf-8") item["extraproperties"] = extraprops tvshowpath = "ActivateWindow(Videos,videodb://tvshows/titles/%s/,return)" %str(item["tvshowid"]) item["file"]="plugin://script.skin.helper.service?action=LAUNCH&path=" + tvshowpath item["tvshowtitle"] = WINDOW.getProperty("NextAired.%s.Label"%str(count)).decode("utf-8") item["title"] = WINDOW.getProperty("NextAired.%s.NextTitle"%str(count)).decode("utf-8") item["season"] = WINDOW.getProperty("NextAired.%s.NextSeasonNumber"%str(count)).decode("utf-8") item["episode"] = WINDOW.getProperty("NextAired.%s.NextEpisodeNumber"%str(count)).decode("utf-8") allItems.append(item) count += 1 if count == limit: break return allItems
Ich denke das sollte auch ohne Skin-Helper-Service umsetzbar sein...Wie die db befüllt werden müsste versteh ich noch allerdings habe ich noch Problme wie die Properties in Nextaired gesetzt werden und vorallem wo genau die Propertys in der 720p-skins.template herkommen...
Kann mir da jemand auf die Sprünge helfen?
-
Also wenn Splitmode dann bitte ohne Abhängigkeit von Live TV.
Also grad das finde ich gut...
was bringen mir die infos in Kodi wenn ich den Sender gar nicht habe...
das "belastet" auch die Seiten weniger wenn nur Informationen abgerufen werden die
die auch tatsächlich mit Kodi betrachtet werden können...Ist aber nur meine Meinung...
-
@sveni_lee den du hochgeladen hast
da stimmt tatsächlich was nicht... werd ich mir heute abend noch mal anschauen...
irgendwie steh ich ein wenig auf kriegsfuß mit Github... -
welchen Skin hast Du im Einsatz?
-
Das was es...
Ich war der Meinung, das es reicht die ID im Header der xml zu vergeben... -
stimme, ich hatte auch schon eine andere ID probiert, leider mit dem selben Fehler...
-
einfach nur den Standard Skin...
ist erst einaml nur ein Fenster ohne Inhalt...
nur ein Background... -
Ich dachte das wäre normal, das ist bei meinem Skin Aeon Nox Silvo auch so...
doert werden dann aber alle Windows geöffnet... -
Ich bin grad dabei eine Confluence Integration zu basteln... Aber irgendwie scheint Confluende etwas Anders zu funktionieren...
Ich habe ein Custom_1199_SerienPlanerIngo.xmlIm Header habe ich folgendes Eingetragen...
im Tiem habe ich
<onclick>ActivateWindow(1199)</onclick>
ich bekomme aber immer folgende Fehlermeldung:
-
Ich versuche mich langsam ranzutasten...
Ist alles noch Neuland für mich...