[ALPHA VERSION] SerienPlaner

  • kann man denn auch status z.B. dann außerhalb verwenden wie beim Next Aired?
    Ich nutze das zur Anzeige in der videoinfo..

    Sonst schauts super aus. Mal schauen was Pacoma meint, dann bauen wirs in den flex ein.

    Grüße

  • kann ich eigendlich via JSON abfragen ob eine Episode vorhanden ist?

    ich hatte das jetzt mal probiert aber das funktioniert leider nicht, kommt immer ein False

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Kannst Du mal posten, was in res drinsteht (also was JSON komplett zurück gibt)?
    Zeile 12 in obigen Codeschnipsel:

    Code
    print 'JSON returns: ', res

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Kannst Du mal posten, was in res drinsteht (also was JSON komplett zurück gibt)?
    Zeile 12 in obigen Codeschnipsel:

    klar...

    Python
    [plugin.program.serienplaner 0.0.3]: JSON returns: {u'jsonrpc': u'2.0', u'id': u'libTvShows', u'result': {u'limits': {u'start': 0, u'total': 81, u'end': 81}, u'tvshows': [{u'season': 13, u'tvshowid': 1, u'episode': 270, u'label': u'Navy CIS'}, {u'season': 9, u'tvshowid': 2, u'episode': 190, u'label': u'The Big Bang Theory'}, {u'season': 5, u'tvshowid': 3, u'episode': 65, u'label': u'Spider-Man'}, {u'season': 1, u'tvshowid': 4, u'episode': 4, u'label': u'Cinderella 87'}, {u'season': 3, u'tvshowid': 5, u'episode': 78, u'label': u'Wickie und die starken M\xe4nner'}, {u'season': 10, u'tvshowid': 6, u'episode': 204, u'label': u'Bones'}, {u'season': 1, u'tvshowid': 7, u'episode': 6, u'label': u'Das Verschwundene Zimmer'}, {u'season': 2, u'tvshowid': 8, u'episode': 41, u'label': u'Dark Angel'}, {u'season': 2, u'tvshowid': 9, u'episode': 14, u'label': u'Max Headroom'}, {u'season': 1, u'tvshowid': 10, u'episode': 26, u'label': u'Es war einmal... Entdecker und Erfinder'}, {u'season': 1, u'tvshowid': 11, u'episode': 26, u'label': u'Es war einmal... Die Entdeckung unserer Welt'}, {u'season': 5, u'tvshowid': 12, u'episode': 46, u'label': u'Game of Thrones'}, {u'season': 1, u'tvshowid': 13, u'episode': 12, u'label': u'Alphas'}, {u'season': 4, u'tvshowid': 14, u'episode': 62, u'label': u'Lexx'}, {u'season': 1, u'tvshowid': 15, u'episode': 28, u'label': u'Grisu, der kleine Drache'}, {u'season': 2, u'tvshowid': 16, u'episode': 51, u'label': u'Die Avengers: Die m\xe4chtigsten Helden der Welt'}, {u'season': 7, u'tvshowid': 17, u'episode': 172, u'label': u'The Mentalist'}, {u'season': 10, u'tvshowid': 18, u'episode': 207, u'label': u'Akte X'}, {u'season': 2, u'tvshowid': 19, u'episode': 30, u'label': u'Pettersson und Findus'}, {u'season': 1, u'tvshowid': 20, u'episode': 10, u'label': u'Continuum'}, {u'season': 10, u'tvshowid': 21, u'episode': 204, u'label': u'24'}, {u'season': 2, u'tvshowid': 22, u'episode': 25, u'label': u'Pippi Langstrumpf'}, {u'season': 9, u'tvshowid': 23, u'episode': 208, u'label': u'How I Met Your Mother'}, {u'season': 1, u'tvshowid': 24, u'episode': 26, u'label': u'Es war einmal... Der Weltraum'}, {u'season': 7, u'tvshowid': 25, u'episode': 62, u'label': u'Die Peanuts'}, {u'season': 1, u'tvshowid': 26, u'episode': 26, u'label': u'Es war einmal... Amerika'}, {u'season': 2, u'tvshowid': 27, u'episode': 26, u'label': u'Die Fantastischen Vier mit neuen Abenteuern'}, {u'season': 1, u'tvshowid': 28, u'episode': 19, u'label': u'TRON: Der Aufstand'}, {u'season': 2, u'tvshowid': 29, u'episode': 32, u'label': u'Grimm'}, {u'season': 1, u'tvshowid': 30, u'episode': 26, u'label': u'Es war einmal... Der Mensch'}, {u'season': 2, u'tvshowid': 31, u'episode': 18, u'label': u'Knight Rider (2008)'}, {u'season': 1, u'tvshowid': 32, u'episode': 52, u'label': u'Heidi'}, {u'season': 1, u'tvshowid': 33, u'episode': 4, u'label': u'Die S\xe4ulen der Erde'}, {u'season': 6, u'tvshowid': 34, u'episode': 94, u'label': u'Sex and the City'}, {u'season': 3, u'tvshowid': 35, u'episode': 36, u'label': u'Homeland'}, {u'season': 2, u'tvshowid': 36, u'episode': 104, u'label': u'Die Biene Maja'}, {u'season': 2, u'tvshowid': 37, u'episode': 24, u'label': u'Sleepy Hollow'}, {u'season': 1, u'tvshowid': 38, u'episode': 26, u'label': u'Es war einmal... Das Leben'}, {u'season': 2, u'tvshowid': 39, u'episode': 13, u'label': u'True Detective'}, {u'season': 1, u'tvshowid': 40, u'episode': 10, u'label': u'Prinzessin Fantaghiro'}, {u'season': 1, u'tvshowid': 41, u'episode': 40, u'label': u'Captain Future'}, {u'season': 4, u'tvshowid': 42, u'episode': 67, u'label': u'Arrow'}, {u'season': 4, u'tvshowid': 43, u'episode': 74, u'label': u'Airwolf'}, {u'season': 10, u'tvshowid': 44, u'episode': 215, u'label': u'Supernatural'}, {u'season': 3, u'tvshowid': 45, u'episode': 59, u'label': u'SeaQuest DSV'}, {u'season': 1, u'tvshowid': 46, u'episode': 52, u'label': u'Das Dschungelbuch (2011)'}, {u'season': 1, u'tvshowid': 47, u'episode': 16, u'label': u'The Marvel Superheroes'}, {u'season': 1, u'tvshowid': 48, u'episode': 13, u'label': u'Die M\xe4rchenbraut'}, {u'season': 1, u'tvshowid': 49, u'episode': 7, u'label': u'Spuk unterm Riesenrad'}, {u'season': 7, u'tvshowid': 50, u'episode': 173, u'label': u'Star Trek - Deep Space Nine'}, {u'season': 4, u'tvshowid': 51, u'episode': 80, u'label': u'Raumschiff Enterprise'}, {u'season': 7, u'tvshowid': 52, u'episode': 147, u'label': u'Ein Duke kommt selten allein'}, {u'season': 1, u'tvshowid': 53, u'episode': 26, u'label': u'Die R\xfcckkehr der M\xe4rchenbraut'}, {u'season': 6, u'tvshowid': 54, u'episode': 58, u'label': u'LEGO Ninjago Meister des Spinjitzu'}, {u'season': 5, u'tvshowid': 55, u'episode': 97, u'label': u'Ein Colt f\xfcr alle F\xe4lle'}, {u'season': 8, u'tvshowid': 56, u'episode': 135, u'label': u'The Real Ghostbusters'}, {u'season': 7, u'tvshowid': 57, u'episode': 177, u'label': u'Raumschiff Enterprise - Das n\xe4chste Jahrhundert'}, {u'season': 1, u'tvshowid': 58, u'episode': 7, u'label': u'Spuk im Hochhaus'}, {u'season': 1, u'tvshowid': 59, u'episode': 78, u'label': u'Wickie und die starken M\xe4nner (2013)'}, {u'season': 2, u'tvshowid': 60, u'episode': 22, u'label': u'V - Die Besucher'}, {u'season': 1, u'tvshowid': 61, u'episode': 13, u'label': u'The Flash'}, {u'season': 6, u'tvshowid': 62, u'episode': 130, u'label': u'Vampire Diaries'}, {u'season': 4, u'tvshowid': 63, u'episode': 102, u'label': u'ALF'}, {u'season': 1, u'tvshowid': 64, u'episode': 22, u'label': u'Nikita (2010)'}, {u'season': 1, u'tvshowid': 65, u'episode': 8, u'label': u'The Returned'}, {u'season': 1, u'tvshowid': 66, u'episode': 20, u'label': u'Scorpion'}, {u'season': 3, u'tvshowid': 67, u'episode': 86, u'label': u'Aladdin'}, {u'season': 6, u'tvshowid': 68, u'episode': 95, u'label': u'Die Gummib\xe4renbande'}, {u'season': 5, u'tvshowid': 69, u'episode': 80, u'label': u'Once Upon a Time'}, {u'season': 4, u'tvshowid': 70, u'episode': 57, u'label': u'Dragons - Die Reiter von Berk'}, {u'season': 3, u'tvshowid': 71, u'episode': 26, u'label': u'Star Wars Rebels'}, {u'season': 3, u'tvshowid': 72, u'episode': 65, u'label': u'Transformers: Prime'}, {u'season': 1, u'tvshowid': 73, u'episode': 22, u'label': u'The Tomorrow People'}, {u'season': 1, u'tvshowid': 74, u'episode': 12, u'label': u'Gotham'}, {u'season': 5, u'tvshowid': 75, u'episode': 49, u'label': u'Breaking Bad'}, {u'season': 1, u'tvshowid': 76, u'episode': 10, u'label': u'Mr Robot'}, {u'season': 3, u'tvshowid': 77, u'episode': 115, u'label': u'Tom und Jerry'}, {u'season': 1, u'tvshowid': 78, u'episode': 12, u'label': u'Castle'}, {u'season': 1, u'tvshowid': 79, u'episode': 12, u'label': u'Sense8'}, {u'season': 2, u'tvshowid': 80, u'episode': 44, u'label': u"Marvel's Agents of S.H.I.E.L.D."}, {u'season': 1, u'tvshowid': 81, u'episode': 13, u'label': u'CSI Cyber'}]}}

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • JSON liefert nur allgemeines Zeugs zurück:

    Code
    tvshowid: lfd. Nummer (systemintern, läuft von 1...81 bei dir)
    episode: Anzahl der Episoden (meiner Meinung nach)
    label: sollte klar sein (Name der Serie)


    Ich glaube, damit kannst Du nichts anfangen, da Du ja nur die Anzahl der Episoden zurück bekommst, und nicht, ob eine Episode auch tatsächlich vorhanden ist. Evtl. gibts eine Detailabfrage, die per tvshowid und Episode noch mehr Infos liefert. Da musst Du aber mal in die JSON-RPC-API schauen.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • dann benötige ich auf jeden Fall die tvshowid...
    Hab grad mal versucht die aus der Datenbank zu bekommen, klappt irgendwie auch nicht..

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • so, ich habe jetzt die Abfrage der tvshow-DB bezg. Season und Episode hinbekommen.

    Ich werde jetzt also noch einbauen, dass man sich auch folgen Anzeigen lassen kann die man nicht in der DB hat auch wenn sie nicht "neu" sind...

    Es werden also auch oder nur fehlende Folgen angezeigt...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • ich werde die "neue" Version dann heute mal auf Github schieben... Bei mir funktioniert soweit recht gut... Einzig der scraper braucht sehr lange aber das liegt an der Masse der Serien... eventuell kann ich noch irgendwas einbauen das er nur die fehlenden Tage durchsucht und nicht immer wieder von vorn anfängt... sollte eigendlich irgendwie machbar sein...

    kann man denn auch status z.B. dann außerhalb verwenden wie beim Next Aired?
    Ich nutze das zur Anzeige in der videoinfo..

    ich könnte den Aufruf des Programms in die Start.py legen, dann sollten die Propertys sofort nach dem Start zur VErfügung stehen. Aber weiß grad nicht ob die das was nützt...


    Bei uns (also am Receiver), hat man eher den Fall das man 200 NCIS Folgen schon hat, und eine Folge verpasst wurde..
    Alles andere wie Serienaufnahme und dergleichen hat man ja Listen dafür (oder die Datenbank dann).

    Ich seh das eher nützlich für solche Fälle, als das was gerade aktuell als nächstes ansteht..
    Für sowas wird man ja mit der Timerliste zurande kommen.
    Für mein Empfinden wäre was nützlich, wo man Meinetwegen suchen kann wann NCIS Staffel 10 Folge 8 wiederkommt,
    weil einem die Fehlt, oder im Idealfall sogar eine Art Benachrichtigung bekommt..


    Marc, Du hattest mall soetwas als Anregung gegeben... Ich habe das jetzt mal eingebaut. Du kannst jetzt wählen das nur Folgen angezeift werden sollen deren Serie in der DB ist aber die Folge nicht dort vorhanden ist... Ich weiß nicht ob Du soetwas damals gemeint hast...

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Hey,

    Muss ich mir dann in ruhe anschauen;)..

    Der Gedanke war das dann außerhalb des Fensters nutzen zu können.
    Nextaired hat z.B. ein Property NextAired.StatusID mit dem man sich auch in der Videoinfo Anzeigen lassen kann ob eine Serie
    Beendet, Abgesetzt oder Im Gange ist.

    Kodi bietet ja die Anzahl der Folgen einer Serie als Info, aber nicht wieviele es insgesamt gibt das man daraus ableiten kann ob man alle hat.
    Ein "Beendet" als Info aus dem nextaired bringt natürlich mehr wenn man weiß "ich habe 80 von 80 Folgen",
    ohne online erst Nachforschen zu müssen wieviel Staffeln oder Folgen gibts denn überhaupt?

    Für mich würde ichs wenns die Folgen die einem Fehlen einzeln gibt das mit in die Videoinfo packen.
    Ein widget ohne Live-TV bringt mir ja nicht viel.

    Aber mach dir keinen Stress, ich nehms so wie es kommt und wenns nicht klappt oder die sache verlangsamt dann ist es eben so;).
    Finds schon super das dranbleibst und die die Mühe machst.

    Grüße

  • Für mich würde ichs wenns die Folgen die einem Fehlen einzeln gibt das mit in die Videoinfo packen.
    Ein widget ohne Live-TV bringt mir ja nicht viel.

    naja, eigendlich schon... Du kannst das ganze auch ohne Live-TV nutzen. die Option gibt es...

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Dazu müsste man dann feststellen, welche Folgen Dir fehlen und diese dan ausgeben...
    Soetwas lässt sich sicher umsetzen aber ich glaube nicht das es in dieses Addon passt...

    Hier würde dir angezeigt werden, wenn eine Folge ausgestahlt wird die Du nicht in deiner DB hast...
    schließt aber in diesem Fall auch Pay-Tv mit ein...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Ich hänge auch grad wieder an einem Punkt...

    ich möchte direkt aus dem focused Item heraus ein neues Fenster öffnen lassen, das mir alle detail Informationen bietet... das Fenster ist ja bei mir schon vorhanden nur muss ich alle propertys auf "Widget.xxx" setzen ...

    Ich weiß nur nicht an welcher stelle ich das <oninfo> einbauen muss...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Soetwas lässt sich sicher umsetzen aber ich glaube nicht das es in dieses Addon passt...

    genau.. deswegen nur wenns reinpasst in deinen plan. Das nextaired nutze ich ja auch etwas wiedersinnig nur für einen Icon des serienstatus..


    Ich weiß nur nicht an welcher stelle ich das <oninfo> einbauen muss...

    oninfo kommt in den container. Sicher das der noch geht? bei uns im homewidget geht der oninfo tag nicht mehr für eigene fenster.
    Ich kann krypton nicht überreden irgendwas da zu setzen.

    Ich kann das nur noch unter video machen bzw. in den Datenbankansichten in der art:

    Code
    <oninfo condition="ListItem.IsCollection + System.HasAddon(script.skin.info.service)">ActivateWindow(1102)</oninfo>
    			<oninfo condition="Integer.IsGreater(Container(20000).NumItems,11) + [Container.Content(genres) | Container.Content(years) | Container.Content(actors) | Container.Content(studios) | Container.Content(dircetors) | Container.Content(countries)]">ActivateWindow(1103)</oninfo>
    			<oninfo condition="Integer.IsLess(Container(20000).NumItems,11) + [Container.Content(genres) | Container.Content(years) | Container.Content(actors) | Container.Content(studios) | Container.Content(dircetors) | Container.Content(countries)]">ActivateWindow(1104)</oninfo>

    irgendwas mit oder ohne eine condition im Home in einem container gibt nicht mal mehr das property zurück..
    Als hätten sie das gekillit damit da nicht bei pvr und jedem mist ohne infodialog die falsche aufgeht wie eine zeitlang..
    Ist aber schon einige wochen her das ichs versucht hab. Wir haben ja eine Info für genres drin in der DB, die extra schon alles per Propertys macht,
    nur ging es nicht im Home Widget damit..

    Setz doch einfach mal ein

    <oninfo>SetProperty(irgendwas,xxx,home)</oninfo> in den Container
    und schau in nem Kontrollabel ob überhaupt was ankommt..


    Grüße

  • oninfo kommt in den container. Sicher das der noch geht? bei uns im homewidget geht der oninfo tag nicht mehr für eigene fenster.
    Ich kann krypton nicht überreden irgendwas da zu setzen.

    Ich bin ja noch auf Jarvis... werde mich aber wohl oder übel mit Krypton beschäftigen müssem....


    Setz doch einfach mal ein

    <oninfo>SetProperty(irgendwas,xxx,home)</oninfo> in den Container
    und schau in nem Kontrollabel ob überhaupt was ankommt..

    das setzen funktioniert schon... Mein Problem sind ja die Params, die scheinbar nicht überall zur VErfügung stehen...


    ich habdas jetzt mal so getestet, wird auch korrekt über geben... allerdings möchte ich ja die Properties aus dem jeweils focusiertem Item übergeben... Und da komme ich irgendwie nicht weiter...


    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Hey,

    Mit Parametern drin auch versucht?
    Also die 200 und die 0 so wie sonst auch?
    <oninfo>SetProperty(Widget.Cover,$ESCINFO[Window(Home).Property(SerienPlaner.200.TVGUIDE.0.Poster)],home)</oninfo>

    Ich hasse ja die Dinger mittlerweile weil keinen durchblick hast über die dinger was in welchem schritt wie gerade drinsteht und
    auf gedei und verderb auf ein try and error ausgeliefert bis.

    Andere Dinge kannst ja super in Controllabeln prüfen und weiß da recht schnell an was es liegt..


    Ich würde dir aber dringend raten vorher mal in einer Testumgebung für krypton das ganze zu versuchen..
    Wenn ich es dort versuche im Home passiert nichts. genauso in contentprovidern wird dort direkt wenn man info drückt ja die videoinfo geöffnet..
    Ein <oninfo>SetProperty(irgendwas,xxx,home)</oninfo> kommt gar nichts an, als ob er jeden anderen tag gar nicht erst akzeptiert.

    Nicht das es in einem custom window auch so umgesetzt wird. dann ärgerst dich nur wenn danach soweiso auf den click oder was auch immer umbauen musst..

    Grüße

  • Ich würde dir aber dringend raten vorher mal in einer Testumgebung für krypton das ganze zu versuchen..

    das werde ich heute abend mal in Angriff nehmen...

    ich habe es jetz mal Testweise mit einem <onclick> direkt im Item probiert und dann klappt es auch...


    Mit Parametern drin auch versucht?
    Also die 200 und die 0 so wie sonst auch?
    <oninfo>SetProperty(Widget.Cover,$ESCINFO[Window(Home).Property(SerienPlaner.200.TVGUIDE.0.Poster)],home)</oninfo>

    ja, das Funktioniert...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Nicht das es in einem custom window auch so umgesetzt wird. dann ärgerst dich nur wenn danach soweiso auf den click oder was auch immer umbauen musst..

    ich hab grad mal die Krypton Version von AEON Nox Silvo überflogen, da ist nichts mehr wie es war...
    Das wird ein Spaß... Wieder alles auf Anfang ;(

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • ich hab grad mal die Krypton Version von AEON Nox Silvo überflogen, da ist nichts mehr wie es war...
    Das wird ein Spaß... Wieder alles auf Anfang

    Die Änderungen von Jarvis zu Krypton sind schon sehr massiv, ich würd mich da nicht nur auf den Silvio verlassen sondern auch mal den offiziellen Thread zu den Skinning-Änderungen konsultieren.

  • Die Änderungen von Jarvis zu Krypton sind schon sehr massiv, ich würd mich da nicht nur auf den Silvio verlassen sondern auch mal den offiziellen Thread zu den Skinning-Änderungen konsultieren.

    ja klar...
    da ich selber den Silvo Mod nutze habe ich mir das angeschaut...
    und das custom window wie es bisher war ist verschwunden...

    Und wie Marc schon sagte scheint es keine <oninfo> so mehr zu geben...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!