Massengeschmack.tv Kodi-Add-On

2.7.2 dürfte von mir gewesen sein :smiley:

1 „Gefällt mir“

Scheint immer noch nicht zu funktionieren.

http://dl.massengeschmack.tv/live/.../direkt-113/adaptive.m3u8
Wieder 502 :roll_eyes:

Ich komme noch nicht mal zum Hauptmenü - trotz frisch installiertem PlugIn aus der oben verlinkten Repro. Der Pullrequest wurde ja anscheinend eingearbeitet. :thinking:

Das 502 Problem mit den Livestreams ist MG-seitig.

Dass du nicht zum Hauptmenü kommst, liegt am Add-On. Um die neueste Version vom Add-On nutzen zu können brauchst du mindestens Kodi 19 (Matrix). Könnte es evtl. daran liegen, dass du noch Kodi 18 (Leia) im Einsatz hast?

Ansonsten bräuchten wir mindestens die Fehlermeldung in deinem Kodi Log, um dir helfen zu können.

Schon klar - KODI 19 ist im Betrieb - Android/FireTV - auf meinem Windows-System habe ich das noch nicht getestet.
Bezüglich Fehlermeldung melde ich mich später mal - dazu müsste ich das Log näher durchsuchen.

@Spymac : Moin! Hast du schon eine Idee bzgl. Gateways Gone Bad?

Ich bekomme bei OSMC mit Kodi19 folgende Fehlermeldung in den Logs bei der aktuellen Version aus dem Repository:

2022-08-13 20:08:13.751 T:781     ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'NameError'>
                                                   Error Contents: name 'xbmc' is not defined
                                                   Traceback (most recent call last):
                                                     File "/home/osmc/.kodi/addons/plugin.video.massengeschmack/default.py", line 46, in <module>
                                                       listing.show()
                                                     File "/home/osmc/.kodi/addons/plugin.video.massengeschmack/resources/lib/listing.py", line 59, in show
                                                       self.setViewMode(self.__source.getViewMode())
                                                     File "/home/osmc/.kodi/addons/plugin.video.massengeschmack/resources/lib/listing.py", line 73, in setViewMode
                                                       xbmc.executebuiltin('Container.SetViewMode(' + str(id) + ')')
                                                   NameError: name 'xbmc' is not defined
                                                   -->End of Python script error report<--

Der Import für xbmc wurde beim letzten commit entfernt. Habe es bei mir getestet. import xbmc muss wieder rein.

Eine Versionsunterscheidung braucht man nicht. Man muss einfach ein import xbmc in die Datei globalvars.py einfügen.
Komisch, dass das nicht schon vorher aufgefallen ist. Habe das Addon bei mir auf drei verschiedenen Rechnern mit drei verschiedenen Kodi Versionen (Leia, Matrix und Nexus) laufen, ohne Probleme.

@Manko10 :
Es werden von globalvars.py nicht nur die Variablen, sondern auch die Imports an ein paar Stellen verwendet (from globalvars import *). Das hatte ich bei meinem letzten PR übersehen. Entweder wie oben beschrieben lösen oder die lib nur da importieren, wo sie gebraucht wird (/resources/lib/listing.py und /resources/lib/__init__.py). Weiß nicht, wie da die Best Practice unter Python ist.

Ich bin jetzt bei der Fehlermeldung mit der Datumsangabe wie weiter oben von anderen Beschrieben angekommen.

Ich habe OSMC auf eine RPi4 mit Kodi 19 am Laufen.

Mit folgenden Fix habe ich das Problem behoben:
(Ich habe im Format und im dateString den Namen des Wochentages entfernt. Ich glaube bei den Monaten müssste der String für alle Monate bei beiden Sprachen identsich sein.)

def parseUTCDateString(datestr):
    """
    Parse an RFC 2822 date format to a datetime object.

    @type datestr: str
    @param datestr: the date string
    @return a datetime object
    """
    # work around Python bug

    format = '%d %b %Y %H:%M:%S'
    try:
        date = datetime.strptime(datestr[5:-6], format)
    except TypeError:
        date = datetime(*(time.strptime(datestr[5:-6], format)[0:6]))

    # add timezone info which isn't possible using %z in Python 2
    offset  = int(datestr[-5:-2]) * 60
    offset += int(datestr[-5:-4] + '1') * int(datestr[-2:])
    offset  = TZOffset(offset)
    date    = date.replace(tzinfo=offset)

    return date

Update: Funktioniert nicht zuverlässig. Der Monat May und Dezember werden im Englischen und Deutschen unterschiedlich abgekürzt