gutemine Feed Plugin

  • Ich hab das mal analysiert :winking_face:


    Das Packagefile ist gar nicht das Problem.

    Die Bremse ist der Code zum Parsen des Statusfiles (bei mir 500 KB) zum Ermitteln der aktuell installierten Version.


    Das createSetup dauert hier insgesamt ca. 1sek. Gefühlt öffnete das Plugin nach 2sek.

    Mit nachfolgendem optimierten Code für "currentVersion" dauert das createSetup nur noch 0,08 sek :winking_face:

    Auf meiner 2. Box konnte ich damit die Zeit von 0,7sek auf 0,07sek reduzieren.

    (also ungefähr 10x schneller)


    Jetzt öffnet sich das Plugin praktisch sofort. Man merkt da gar keine Verzögerung mehr.

    Und damit stört es wohl auch nicht, wenn da noch ein paar Plugins im Feed dazukommen. :smiling_face_with_sunglasses:


    Python
     def createSetup(self, first=False):
     +   global statusfile_data
     +   statusfile_data = ""
         updates=0
         ...

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Danke fürs optimieren :smiling_face:


    Ich baue es dann am Abend ein...


    Ein self.statusfile_data statt globaler variable wäre aber sinnvoller :winking_face:

    Einmal editiert, zuletzt von Lost in Space ()

  • Mit self.statusfile_data ging ja nicht so einfach, weil currentVersion ja keine Funktion aus der ConfigScreen-Class ist.


    Ok, man könnte das als Parameter übergeben und auch als Wert wieder zurückgeben.


    Hab auch gerade gesehen, dass die Funktion auch aus metaDreamy() aufgerufen wird.
    Müsste man da auch das statusfile_data am Anfang zurücksetzen.


    Musst du mal schauen, wie es dir am Besten gefällt :winking_face:

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Wegen dem metaDreamy im autostart sind das globale Methoden, aber du hast Recht, dann lassen wir es halt so, hauptsache es funktioniert besser :winking_face:

  • Ok :winking_face:


    Dann wie gesagt bei metaDreamy() auch die beiden Zeilen rein, damit da das aktuelle Status-File neu gelesen wird.

    Code
    def metaDreamy(enable_meta=True):
    +    global statusfile_data
    +    statusfile_data = ""
         gp4_filter = ""
         ...

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • OK, damit sich die r6 rentiert habe ich Dreamy's codeanpassungen zu Performance Verbesserung reingemacht und auch gleich auf das dpkg status file einen Fielwatch gesetzt und die Versionsunterdrückung eingebaut wenn im Paketnamen xxx version yyyy verwendet wird, so wie bei den Paketen von pclin für espeak und den nötigen libraries.


    Ich hoffen damit sind aber jetzt alle erstmal wieder glücklich :face_blowing_a_kiss:


    LG

    gutemine

  • Mit dem neuen Filewatch hast du den bisherigen Filewatch überschrieben :winking_face:

    Aber da der bisherige eh nicht funktioniert hat, ist das im Moment ja egal :winking_face:

    Code
        self.gutemine = eFileWatch("/var/lib/apt/lists", False, eFileEvent.CLOSE_WRITE)
        self.gutemine = eFileWatch("/var/lib/dpkg", False, eFileEvent.CLOSE_WRITE)
        self.gutemine_conn = self.gutemine.fileChanged.connect(self.gutemineEvent)
        self.gutemine.startWatching()

    Im log sieht man auch nur das hier:

    Code
    I/  [IpkgComponent.runCmd] :: executing opkg update
    [eFileWatch] Now watching /var/lib/dpkg
    reading /var/lib/dpkg/Status

    Wie gesagt, im Moment kein Problem, aber langfristig müsste man dann wohl 2 Watcher draus machen.

    Keine Ahnung, ob das auch eleganter geht :thinking_face:

    Code
    self.gutemine1 = eFileWatch("/var/lib/apt/lists", False, eFileEvent.CLOSE_WRITE) 
    self.gutemine1 = eFileWatch("/var/lib/dpkg", False, eFileEvent.CLOSE_WRITE) 
    self.gutemine_conn = self.gutemine1.fileChanged.connect(self.gutemineEvent)
    self.gutemine_conn = self.gutemine2.fileChanged.connect(self.gutemineEvent)
    self.gutemine1.startWatching()
    self.gutemine2.startWatching()

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Na ja beides ist unter var lib also müsste es auch mit einem gehen, kannst ja probieren:smiling_face:

  • Das versuche ich erst nach dem e2-Update, weil ich derzeit das Verhalten bei mehreren Watchern für das gleiche File nicht nachvollziehen kann :winking_face:

    Da weiß man ja im Moment nicht, ob man einen Fehler gemacht hat, oder ob gerade kein Event weitergereicht wird.


    Ist ja nicht so tragisch, wollte es nur genannt haben, dass man es im Auge behält. :winking_face:

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • @gutemine fals dir mal langweilig wird ,kannst du dir das EPG Load nochmal ansehen ,mir sind da 2 Sachen aufgefallen die nicht ganz so schön gelöst sind und da wäre ne Einstellung mehr zum abschalten denke ne gute Idee .

    Dein Plugin macht bei (Text) weg ,die short sehr nah an den anderen Text (Bild 1 ohne ,Bild2 mit (Text) weg) ,da wäre es schön so 2 oder 3 Zeichen Abstand zu haben für bessere Optik bei Text entfernen.

    Desweiteren schreibt dein Plugin den Sendungstitel nochmal mit rein so das er 2x auftaucht und somit unschön aussieht sowie Platz wegnimmt durch die leerzeilen dann auch noch (Bild 3 original ,Bild 4 mit deinem Plugin wo das drangehängt wird und unschön wirkt).

    Es wäre schön wenn man bei diesen beiden Dingen da nochmal nachbessert :winking_face:

    Hab es hier nur geschrieben weil du noch keinen EPG Load Thread hast und einen neuen wegen diesem wollte ich nicht anfangen.


  • Ich habe jetzt glaube ich hier im Thread schon 5 oder 6 mal geschrieben das es hier um das Feed Plugin geht und NICHT um die Plugins am Feed :winking_face:


    Aber es hält sich eh keiner dran ...


    Wenn die Klammern entfernt werden will ich ja das keine mehr da sind, dafür habe ich die Einstellung ja gemacht. Wenn man die Klammern durch Blanks ersetzen würde schaut es doch erst recht komisch aus ? Das was du meinst ist wenn ]+new line entfernt wird, da würde dann schon ein Blank Sinn machen, ich muss mal schauen wie das im Code derzeit gelöst ist.


    Und ja eine Einstellung um den Titel nicht in der Description zu haben kann man schon noch reinmachen wobei das eigentlich so vom XMLTV geliefert wird.

    Einmal editiert, zuletzt von Lost in Space ()

  • Ich hätte ja auch einen extra aufmachen können hier ,nur du hast ja keinen support Thread mehr sonst hätte ich das da geschrieben :winking_face:

    Klammern entfernen ok ist klar ,dann wird das aber ja unten vorn drangehängt und jetzt ist es direkt ohne leerzeichen dran geklatscht ,also das sieht nicht wirklich schön aus ,wenigstens 1 oder 2 zeichen als Abstand oder?

  • OK,ich habe mir das im Code angesehen, das ist nicht der titel was da ein zweite mal kommt sondern der subtitel nur steht bei manchen sendern dort einfach der titel nochmals im xml. Ich bin daher nicht sicher ob man das generell weglassen sollte, weil bei anderne sendern unterscheiden sich titel und subtitel


    Und wenn Ihr OHNE Supportforum nicht leben könnt:


    https://sourceforge.net/p/gutemine/plugins/epgload/


    EDIT: auf dem Feed liegt eine r1 wo es eine Untertitel ja/nein Einstellung gibt, aber wie gesagt ich bin nicht sicher ob das so Sinn macht.

    3 Mal editiert, zuletzt von Lost in Space ()

  • Ich hab da in anderer Sache schon den EventName-Converter angepasst, der dann die 1. Zeile der Shortdescription rausfiltert, wenn diese identisch zum Titel ist.


    Das Problem hat man aktuell sehr oft bei Sat1/Pro7.


    Werde die Anpassung zum Converter evtl. heute Abend mal im Forum hochladen.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Ja so könnte man das auch machen, im Moment lasse ich den Untertitel nur weg wenn der Länge 0 hat und neu eben jetzt bei der Einstellung auf nein. Wobei mir der converter code hier wenig bringt, die Felder kommen ja als einzelne Tags im xml an.

    Einmal editiert, zuletzt von Lost in Space ()

  • Und wenn Ihr OHNE Supportforum nicht leben könnt:


    https://sourceforge.net/p/gutemine/plugins/epgload/


    Echt jetzt?

    Ich bin mir sicher, dass ich nicht der einzige sein werde der sich dort nicht reggen wird ...


    Und beschwer dich bitte nicht über zu wenig feedback

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Ich denke auch, dass sich hier bereits das neue Support-Forum gefunden hat :winking_face_with_tongue:

    Wobei man aber noch merkt, dass sich keiner so richtig traut, neue Threads für die jeweiligen Plugins aufzumachen.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • War ja auch bisher 'nur' zum testen des feeds.


    gruß pclin

    Dreambox ONE, TWO, DM920UHD, DM900UHD, DM820HD HDD + USB-HUB, Stick 64GB, USB-HDD, Keyboard K400r, Wlan-Stick 11n

    (Flash) DP-OE2.6 (BAXII) eigenes OE2.6, debian-buster, Diverse

    (Flash) DP-OE2.5 (BAXII) eigenes OE2.5-e2+kodi+X, debian-stretch, Diverse
    ---

    AudioDSP: miniDSP 2x4HD

    TV: LG OLED65BX9LB (PicCap)

    ---

    Hyperion (NG), Hyperion (Classic) mit Plugin HyperionControl auf der Dreambox ONE/TWO

    ESP32 mit WLED Wlan 263 LED's SK6812-NW 60 LED/m

    DM9x0 Plugin EnigmaLight, Hyperion (NG)


    Ambilight for ever