[ALPHA VERSION] SerienPlaner

  • Zu den ListItems: Die decken ja auch nicht alles ab. Wenn ich z.B. ein(e) Label/Property 'Osterhase' brauche, muss ich das ja auch erst erzeugen, damit es unter ListItem.Osterhase ansprechbar ist.

    Alles was das Addon kann schon.. die Content Methode ist nur für die Skinner gut weil die Arbeit das Addon hat und alles vorgegeben ist was geht.

  • Ich versteh's immer noch nicht. Ich erzeuge im Addon/Script Listitems wie:

    Code
    def setContent:
        ...
        li.setProperty('Osterhase', 'April')
        li.setProperty('Weihnachtsmann', 'Dezember')

    Diese Geschichten werden per

    Code
    <content>plugin://mein.bla.plugin/method=setContent</content>

    vom Widget eingelesen. Osterhase und Weihnachtsmann müssen aber doch irgendwie ins Layout? Und ob ich nun Window.setproperty oder ListItem.setProperty mache - das ist doch der gleiche Aufwand... ?

    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

    Einmal editiert, zuletzt von PvD (22. April 2016 um 15:17)

  • so, neue Version ist auf Github... bitte testen

    der Content kann nun wie folgt eingebunden werden:

    Hey,

    Ich hab das grad mal versucht.. Klappt ja schon ganz gut, nur kann ichs irgendwie nicht einbauen wie du vorschlägst:

    Mit script skin Shortcuts und dem:

    Code
    <content>plugin://plugin.program.serienplaner/?methode=get_item_serienplaner&reload=$INFO[Window(Home).Property(SerienPlaner.Countdown)]</content>

    Zerhaut er mir meine komplette Widgetgroupings und fordert zum installieren des Skin.helpers auf - danach sind dann die ganzen Gruppierungen und die Eigenen Widgets weg und ich hab nur noch die aus dem Helper (aber ohne dein Addon).

    Mit der anderen Methode

    Code
    <shortcut label="Serienplaner" condition="PVR.HasTVChannels" icon="$INFO[System.AddonIcon(plugin.program.serienplaner)]" widget="TV-Serienplaner" widgetType="TV-Serienplaner">plugin://plugin.program.serienplaner/?methode=get_item_serienplaner</shortcut>

    klappts.. hast den da irgendwie mit reingewurschtelt?

    Infolabels scheinen alle zu kommen.. Nur wo find ich denn die Startzeit bei der Content Methode oder nen Hinweis darauf? oder geht das nur nicht bei mir weil ich kein EPG habe (mit ListItem.Starttime)?


    Generell versteh ich noch nicht so ganz wie das jetzt gedacht ist:
    Ich hab jetzt mal Internationale Serien, nur in der Datenbank, 15 Tage ausgewählt.
    Er holt sich auch laut LOG brav die Daten, keine Fehlermeldung ersichtlich:

    Code
    14:58:24 T:15384   DEBUG: [plugin.program.serienplaner 0.0.2]: refreshWidget Kategorie:
    14:58:24 T:15384   DEBUG: [plugin.program.serienplaner 0.0.2]: spitems [{'neueEpisode': u'', 'Thumb': u'http://www.thetvdb.com/banners/episodes/73132/108018.jpg', 'Title': u'Ramonas Fluch', 'Fanart': u'http://thetvdb.com/banners/fanart/original/73132-2.jpg', 'Jahr': u'1993', 'Staffel': u'2', 'TVShow': u'New York Cops - N.Y.P.D. Blue', 'Channel': u'blizz TV HD', 'Status': u'Ended', 'Description': u'Der Besitzer einer Schwulenbar wurde gefesselt und erschossen. Bobby Simone f\xfchlt sich an seinen ersten Fall erinnert. Zusammen mit Andy Sipowicz geht er der Erinnerung nach. Greg legt eine gerissene Wahrsagerin aufs Kreuz, die seine alte Nachbarin betrogen hat.', 'Poster': u'http://thetvdb.com/banners/posters/73132-1.jpg', 'FirstAired': u'1995-01-03', 'Studio': u'ABC (US)', 'Genre': u'Crime | Drama', 'Episode': u'9', 'Starttime': u'17:30', 'Altersfreigabe': u'TV-MA', 'Rating': u'', 'WatchType': u'Klassiker', 'Datum': u'22.04.2016', 'RunningTime': u'60', 'Logo': u'image://897815.png/', 'PVRID': u'3'}, {'neueEpisode': u'', 'Thumb': u'http://www.thetvdb.com/banners/episodes/73132/108019.jpg', 'Title': u'Die Kugel im Hintern', 'Fanart': u'http://thetvdb.com/banners/fanart/original/73132-2.jpg', 'Jahr': u'1993', 'Staffel': u'2', 'TVShow': u'New York Cops - N.Y.P.D. Blue', 'Channel': u'blizz TV HD', 'Status': u'Ended', 'Description': u'Ein junger Mann wird erstochen. Bobby Simone und Andy Sipowicz sind sich sicher: Der jahrelang gesuchte \u201eW\xf6rterbuchm\xf6rder\u201c ist wieder aktiv. Lieutenant Fancy wird das Opfer einer einer Intrige aus den eigenen Reihen. Die droht seine Karriere zu ruinieren.', 'Poster': u'http://thetvdb.com/banners/posters/73132-1.jpg', 'FirstAired': u'1995-01-10', 'Studio': u'ABC (US)', 'Genre': u'Crime | Drama', 'Episode': u'10', 'Starttime': u'18:30', 'Altersfreigabe': u'TV-MA', 'Rating': u'8.5', 'WatchType': u'Klassiker', 'Datum': u'22.04.2016', 'RunningTime': u'55', 'Logo': u'image://897815.png/', 'PVRID': u'3'}]


    Wenn ich nun aber
    $INFO[Container(510).ListItem.Starttime]
    Verwende kommt noch nichts.

    Und trotz 15 Tage und ohne nur Erstausstrahlungen findet er nur diesen einen Eintrag (bzw. zwei von New York Cops - N.Y.P.D. Blue) für über 500 Serien
    in der Datenbank.
    Ich hab dann in die DB des Addons geschaut.. Nicht das ich davon irgendeine Ahnung hätte, aber da stehen 24 Ergebniss drin nachdem ich zuvor mal alles
    angekreuzt habe. Eigentlich scrappe ich ja intern mit Kodi und tvdb, falls der eine ID oder sowas dafür verwendet.

    Sonst echt Respeckt für deine Arbeit und das dir die Mühe machst .


    Grüße

  • vom Widget eingelesen. Osterhase und Weihnachtsmann müssen aber doch irgendwie ins Layout? Und ob ich nun Window.setproperty oder ListItem.setProperty mache - das ist doch der gleiche Aufwand... ?

    ListItem.Property(Osterhase) kannst aber direkt in item- und focusedlayout nutzen, ohne das nen "Textcontent" brauchst.

    Code
    <item id="1">
      <label>xxx</label>
    <item>
    <item id="2">
      <label>xxx</label>
    <item>


    Würde ich mal schätzen..

    Grüße

  • <item id="1">
    <label>xxx</label>
    <item>
    <item id="2">
    <label>xxx</label>
    <item>

    Ich sehe den Osterhasen nicht... Und woher kommt id=1 und id=2?

    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

  • Ich sehe den Osterhasen nicht... Und woher kommt id=1 und id=2?

    Ach so, sorry.. das sollte nur der Andeutung dienen..

    Ich meinte statt der "alten Version" eines contents per Liste..
    Das gibt ja immer rießige Listen.

    Code
    <item id="1">
        <label>xxx</label>
        <property name="Osterhase">$INFO[Window.Property(Osterhase)]</property>
    </item>
    <item id="2">
        <label>xxx</label>
        <property name="Osterhase">$INFO[Window.Property(Osterhase2)]</property>
    </item>


    Die von kodi zumindest oder bei Scripten wie Global Search, kannst direkt als $INFO[ListItem.Property(Osterhase)] in item- und focusedlayout verbauen.
    Deswegen die Annahme das wird per content auch so sein.

    Da muss aber der Sven was zu sagen.. Aber da es im Newscenter Bundesliga auch per Content drin ist und mit $INFO[ListItem.Property(Platz)] der Tabellenplatz kommt, müssten die also gehen so meine Annahme. Wie im Script, da hab ich keine Schimmer..

    Grüße

  • Code
    <item id="1">
    <label>xxx</label>
    <property name="Osterhase">$INFO[Window.Property(Osterhase)]</property>
    </item>
    <item id="2">
    <label>xxx</label>
    <property name="Osterhase">$INFO[Window.Property(Osterhase2)]</property>
    </item>

    Das ist doch die alte Variante per Property?

    Leute ich werde noch bleede. Wie sieht denn das Ganze per $INFO[ListItem.Property('Osterhase')] - von mir aus am o.g. Beispiel - aus, wenn ich die Dynamic Content Methode verwende? Drücke ich mich denn so unverständlich aus? Ist das hier ein Rumgeeiere :rolleyes: . Wenn Ihr (die Skinner) das schon eingebaut habt, dann zeigt doch mal Code oder nennt wenigstens eine Datei in euren Skins,in der ich mal nachschauen und das Prozedere nachvollziehen kann!

    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

  • sagte ich doch das das die alte :) wäre und die content Variante sie genauso aus wie schreibst..
    Woher und wie das zustande kommt weiß der gemeine Skinumsetzer nicht. Mehr Infos als das haben wir nicht.

    $INFO[ListItem.Property('Osterhase')]


    Im Newscenter ist das so:

    content

    Code
    <value condition="Stringcompare(Window(home).Property(Newscentermenue),FussballBL1Tab)">plugin://plugin.program.newscenter/?methode=get_buli_table_items&buliliga=1</value>
    	<value condition="Stringcompare(Window(home).Property(Newscentermenue),FussballBL2Tab)">plugin://plugin.program.newscenter/?methode=get_buli_table_items&buliliga=2</value>


    Das kann mit diesem Containerlayout


    und diesem content drin

    Code
    <content>$VAR[widget_News_BundesligaTabelle]</content>


    zwei Ligas darstellen, ohne das ich das oben genannte Beispiel brauche mit den items - mit den ganzen propertys für 36 items in der alten Variante
    für zwei liegen a 18 Zeilen.
    Die alte wäre ja Andeutungsweise so:

    Code
    <item id="1">
        <label>xxx</label>
        <property name="Tore">$INFO[Window.Property(Tore)]</property>
    </item>
    <item id="2">
        <label>xxx</label>
        <property name="Tore">$INFO[Window.Property(Tore)]</property>
    </item>

    Code kann ich dir keinen bieten weil ich wie gesagt keinen Schimmer habe wie das auszusehen hat und womit er nun die ListItem.Propertys füllt im Addon.
    Ich bekomme ja nur die Info wie das Property im Aufruf auszusehen hat.

    Ich Erreich also mit zwei label (item und focusedlayout) genau dasselbe wenn ich das label Tore darstellen will.
    Und deswegen der Hinweis das es auch mit "nicht Kodi ListItems" gehen muss.
    Am besten du schaust mal im Newscenter nach.. Daraus kommts ja.

    Grüße

  • Das ist doch die alte Variante per Property?
    Leute ich werde noch bleede. Wie sieht denn das Ganze per $INFO[ListItem.Property('Osterhase')] - von mir aus am o.g. Beispiel - aus, wenn ich die Dynamic Content Methode verwende? Drücke ich mich denn so unverständlich aus? Ist das hier ein Rumgeeiere :rolleyes: . Wenn Ihr (die Skinner) das schon eingebaut habt, dann zeigt doch mal Code oder nennt wenigstens eine Datei in euren Skins,in der ich mal nachschauen und das Prozedere nachvollziehen kann!

    So sieht es mit der alten Variante aus. Siehe Anhang.
    Ich such noch die Neue raus. Ist aber nix anders als die Labels

  • Ja, es werden alle PVR-Kanäle abgefragt. Es werden nur Sendungen auf den gefundenen Kanälen angezeigt... Kein PVR, Keine Ergebnisse...

    Hmm das ist aber echt blöde.....

    Warum nicht aufgrund der in der db vorhandenen Serien das ganze anzeigen lassen ??

    Würde doch auch Sinn machen, ich würde es nutzen um meine Serien im Blick zu haltTen und zu sehen wo es neue Folgen gibt.....

    Ist es möglich das vom pvr loszulosen?

    Mit

  • Das Include für den Container:

    hier die definitionen für den container:

    hier ein auszug aus den infolabels die im widget dargestellt werden. nur ohne grafiken und gemischt mit den anderen widgets:

  • @blauesgruen: Danke!

    Ich habe jetzt mehrere Dinge erkannt:

    1. Labels kann man 'einfach' befüllen, indem diese einfach per $INFO[ListItem()] im Layout 'gelabelt' werden. Man muss nicht mit den Properties rummachen.
    2. Konstrukte, wie:


    Code
    <label>$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().AudioLanguage,, / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().SubtitleLanguage,sub: , / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().VideoResolution,, / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().VideoCodec,, / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().VideoAspect,, / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().AudioCodec,, / ]$INFO[Container($PARAM[HomePageWidget_list_id_InfoPanel]).ListItem().AudioChannels,, $LOCALIZE[19019]]</label>

    sind dann doch eher nichts für mich, ich bleibe beim Programmieren. Skinner werde ich - zumindest in näherer Zukunft - keinesfalls ;) .
    3. "Dynamic Content" bezieht sich lediglich auf die Anzahl der Listitems (?)

    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

Jetzt mitmachen!

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