Datumsformat in einem Script

  • Nope.. ist genau dein code, außer window(10000) statts 1000..

    Das macht mich ja alles so stutzig.. Die Klammer brachte denselben Fehler, aber jetzt wirds komisch:

    Kodi Krypton Windows..
    Mit

    Python
    from datetime
    from datetime import datetime

    kommt dann wieder ein dafür kein Time error

    Code
    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                Error Type: <type 'exceptions.SyntaxError'>
                                                Error Contents: ('invalid syntax', ('C:\\Users\\ncc1701d\\AppData\\Roaming\\Kodi\\addons\\skin.xeebo\\extras\\lastplayed2.py', 1, 14, 'from datetime\n'))
                                                SyntaxError: ('invalid syntax', ('C:\\Users\\ncc1701d\\AppData\\Roaming\\Kodi\\addons\\skin.xeebo\\extras\\lastplayed2.py', 1, 14, 'from datetime\n'))
                                                -->End of Python script error report<--

    Import time bringt auch nichts..

    So kurz wie es ja ist, klappt die Bauchweh Version immer noch am besten..

    Geht das denn bei dir?

    Grüße

  • sorry.. hab die Version nicht neu gespeichert und die bleib wohl im speicher..

    Geht doch mit import time..
    Zumindest im Moment.

    Code
    import datetime
    import time
    import xbmcgui
    
    
    xbmcgui.Window(10000).setProperty("Date-now", (datetime.date.today()).strftime("%d.%m.%Y"))
    for i in range(1,11):
        xbmcgui.Window(10000).setProperty("Date-%s" % (i), (datetime.date.today() - datetime.timedelta(days=i)).strftime("%d.%m.%Y"))


    Grüße

  • Das Problem bei dem Skript ist die Anweisung datetime.date.today(), die in Zeile 5 einmal und in Zeile 7 sogar 10x aufgerufen wird (während der Schleifendurchläufe). Python hat es in dem Fall nicht gern, dass hier 11 Timeobjekte gebildet werden, anstatt 11 Instanzen von einem Objekt. Liegt daran, das datetime etwas fehlerhaft implementiert ist, was man auch an zahlreichen Bugreports zu strptime() und strftime() sieht.

    Wir brauchen das Skript aber nur umzustellen, um mit einem Objekt zu arbeiten:

    Code
    import datetime
    import xbmcgui
    now = datetime.date.today() # datetime-Instanz, mit der wir jetzt arbeiten
    xbmcgui.Window(10000).setProperty("Date-now", now.strftime("%d.%m.%Y"))
        for i in range(1,11):
            xbmcgui.Window(10000).setProperty("Date-%s" % (i), (now - datetime.timedelta(days=i)).strftime("%d.%m.%Y"))

    import time kannst Du probehalber weglassen

    Die import datetime und from datetime import datetime sind zwei unterschiedliche Sachen, erklär ich dir später.

    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

  • import time kannst Du probehalber weglassen

    Hey,

    Funktionier 1a, auch ohne datetime.. Du bis der beste ;)

    sind zwei unterschiedliche Sachen, erklär ich dir später.

    sah für mich so aus als "hängt" er dort jeweils mit aufruf einer darauf berufenden Funktion das "davor", um es mal als Nichtprogrammierer auszudrücken.
    dann wird dort datetime.datetime draus statts datetime und das hat er so nicht..

    interessant wäre noch ob das bei staffeln auch ginge.. momentan ziehe ich die noch per skincode raus:

    Eine Playliste mit den zuletzt gesehenen Episoden (Sortierung lastplayed).
    Dort speicher ich dann Serientitel und Staffel als Property und vergleichs.

    Code
    <value condition="Container.Content(seasons) + String.IsEqual(ListItem.TVShowTitle,Window(home).Property(LastwatchedEpisode0TvShow)) + String.IsEqual(ListItem.Season,Window(home).Property(LastwatchedEpisode0Season))">OverlayLast.png</value>


    ist jetzt nichts tragisches, man sieht ja nicht am Stück dutzende Staffeln (zumindest wir nicht), und mit 5 Einträgen kommt man da schon weit.
    Schöner wärs natürlich alles in einem, aber geht auch so.

    Ich hab mir zwar das GetTvShows usw. angesehen, aber so wirklich gibts dort entweder total Abstrakte Beispiele wo man als Nichtcoder
    nicht wirklich weiß was mit Anfangen, oder in Addons so verzweige Lösungen das man gar nicht mehr erkennt welcher Teil was macht.

    Das dürfte auch in Phyton viel zu kompliziert sein oder?
    Das Script infoservice zieht scheints Episodendetails und aus dem Staffelinfos..

    Staffel irerseits haben eine eigene DBID.. die würde ja zur Anzeige eines Overlays super passen da eindeutig, nur wie ich sowas umbaue und das dann auch noch
    in ein Property bekomm.. keinen Plan.

    Grü0e

Jetzt mitmachen!

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