gutemine Feed Plugin

  • Kann ich nicht sagen weil ich nicht vor dem neustart geschaut hatte sondern erst danach ,die leerzeilen gingen ja auch vorher weg weil die user ersetzt wurde mit deinem einen Eintrag.


    Ich werd mal alles runterhauen von dir und neu installieren mit der aktuellen ,mal sehen ob da wo anderst der Wurm drin ist.

  • Blöde, Bitte json reparieren oder mit Backup/Frischem Image neu testen.


    Ich habe noch das curtain Plugin auf den Feed gelegt, damit das json file jetzt mit de 0.23 nochmals geschrieben wird.


    Wenn ich ein diff machen zwischen dem file vorher und nachher findet er bei mir NUR die gutemine Zeile als Unterschied.

    3 Mal editiert, zuletzt von Lost in Space ()

  • Ich hab jetzt das ganze nochmal alles durchgespielt und ich kann deins komplett entfernen ,neu machen, es ändert nix sobald man im GP Addonbrowser externe Kategorien zuerst ausgeschaltet hat und dann zb. deins verschiebt kommt der Fehler wenn man den Addonbrowser schließt ,e2 neustartet und den addonbrowser wieder aufruft ,mache ich das nicht und schalte externe auf ein ist deins immer oben und die anderen sind auch alle da ,da wird dann nix kaputt gemacht in der user.


    Ich hab hier ja nie das cam zeug genutzt was auch so was externes installiert ,müsste man eventuell auch damit mal gegentesten ob das dort sich dann genauso verhält ,nicht das es da einen Fehler im GP gibt den noch keiner bemerkt hat weils keiner testet.

  • Bitte tausche das ZIP file mit vorher und nachher aus, da MUSS sich eigentlich was geändert haben - oder installierst ud immer noch eine alten Version udn holst dir die 0.23 nur als Upgrade ?

  • Nein ich hatte gerade vorhin alles von dir gelöscht und da waren dann nur im Softmanager deine Einträge und die json in etc/enigma2 (die json hab ich dann auch gelöscht)

    Dann hab ich nur deinen Feed installiert und vom Addonbrowser dann dein aktuelles geladen (Addonbrowser hat ja ne neue richtige user dann angelegt).


    Danach wie gesagt war es genau das selbe verhalten sobald man im Addonbrowser externe zuerst aus eingestellt hatte ,hat man das auf an geht alles so wie es soll .


    Ich hab das jetzt aber auch mal mit dem onestep externen addonlist getestet und da geht es immer ohne Probleme ob ich extern aus oder an hab ,eventuell auch weil nicht immer neu geschrieben wird oder was auch immer ,auf alle Fälle geht es da und mit deinem externen Addon json geht es hier nicht .

    Eventuell sollte da auch Sven das mal probieren mit extern aus eventuell kann er es nachstellen .

  • Ich konnte das gerade nachvollziehen.

    Wenn die Option "externe Kategorien immer zuerst" auf "nein" steht, werden nach einem reload von externen Plugins in die FilterAddonUser.json (wenn der Eintrag von gutemine fehlt) nur noch externe Plugins gelistet.


    Die Datei sah vor dem Öffnen des AddonManger aber völlig ok aus.

    Vollständige Liste ohne die gutemine-Zeile.


    Jetzt muss ich mal testen, wo das Problem liegt.

    Gruß Sven (aka Dreamy)


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

  • Das ist schonmal gut das du es nachstellen kannst dann könnt ihr ja mal schauen was da quer schießt .Wie gesagt hatte das noch gegen getestet mit den externen was da onestep macht und da passiert das nicht ,daher denke ich muss da bei euch was angepasst werden.

  • das Problem ist dann dann wenn es als letztes im json steht kein , am Ende der Zeile sein darf.


    Muss ich also etwas komplizierter lösen - mal sehen ob ich heute abends noch Zeit dafür habe oder ob Dreamy das fixen kann.


    Bis dahin halt im GP4 nicht die genannte einstellung benutzen die usererweiterungen ans ende zu machen :face_with_rolling_eyes:

  • Ich glaub, es liegt am Komma iam Ende des letzten Eintrages :winking_face:

    Der letzte Eintrag in der AddonFilterlistuser.json darf am Ende kein Komma haben.

    Löscht man jetzt gutemines Zeile, wenn sie der letzte Eintrag in der Liste ist, hat der vorletzte Eintrag dann noch ein Komma, obwohl er dann zum letzten Eintrag wird.


    Also muss man nur vor dem .join(lines) aufpassen, dass die Zeile für den letzten Eintrag kein Komma am Ende hat :winking_face:


    Oder man löscht die gutemine-Zeile nicht (kein remove), sondern ändert sie einfach direkt.

    Oder man baut das auf das json-Modul um, wo man dann nicht aufpassen muss, wenn man einen Eintrag löscht.

    Gruß Sven (aka Dreamy)


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

  • Du denkst zu kompliziert, nach dem Join ein Text replace von ,\n] auf nur \n] und dann erst schreiben


    Aber ich bin unterwegs und kann das erst später einbauen.

    Einmal editiert, zuletzt von Lost in Space ()

  • Stimmt :winking_face:

    An solche Sachen denke ich nicht zuerst :winking_face:


    mit json könnte man aber die einzelnen Sachen direkt in der Datei tauschen, ohne die ganze Zeile löschen zu müssen.

    Weil dadurch auch das sort oder hide wieder verloren geht.


    Auch ist die Vergleichszeile nicht richtig, weil die in der user anders aussieht als in der _gutemine.

    Deshalb wird die Zeile aktuell auch noch bei jedem Neustart gelöscht, auch wenn sich eigentlich nicht ändert :winking_face:


    Die Vergleichszeile im Plugin hat zu viele \n und das \t:

    Code
    gp4_json_line = '\t{"name":"gutemine %s", "hide":0, "sort":1, "desc":"gutemine %s %s", "filter":"%s"}\n\t]\n}\n' % (_("Plugins"),_("Plugins"),_("select"),gp4_filter)

    In der Datei sieht die Zeile aber so aus (oder auch mit Komma am Ende) :winking_face:

    Code
    {"name":"gutemine Erweiterungen", "hide":0, "sort":1, "desc":"gutemine Erweiterungen wähle", "filter":"enigma2-plugin-extensions-autodimm,enigma2-plugin-extensions-autopin,enigma2-plugin-extensions-barryallen,enigma2-plugin-extensions-curtain,enigma2-plugin-extensions-dbackup,enigma2-plugin-extensions-instantepgtimer,enigma2-plugin-extensions-userscripts,enigma2-plugin-systemplugins-dreamflash,enigma2-plugin-systemplugins-gutemine,enigma2-plugin-systemplugins-splitscreen,enigma2-plugin-systemplugins-tunererror"}


    So wäre die Vergleichszeile wohl besser:

    Code
    gp4_json_line = '{"name":"gutemine %s", "hide":0, "sort":1, "desc":"gutemine %s %s", "filter":"%s"}' % (_("Plugins"),_("Plugins"),_("select"),gp4_filter)

    und beim Vergleich dann noch ein:

    if line.strip(",") != gp4_json_line:


    Aber ich probiere noch etwas mit json herum :winking_face:

    Gruß Sven (aka Dreamy)


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

  • Ja die vergleichszeile muss dann auchangepasst werden, so daß sie immer greift. Und ja mit dem Python json wäre besser:smiling_face: viel erfolg.:thumbs_up:

  • So, hier der neue Code, wo folgende Sachen angepasst sind :winking_face:

    - die AddonFilterlistuser.json wird nicht mehr kaputt gemacht, wenn der gutemine-Eintrage der letzte war

    - der Eintrag wird beim Start/check nur noch entfernt, wenn sich etwas geändert hat

    (hab auch mal die Zeilen für gp4_json_line und gp4_json_txt etwas angepasst - ist besser lesbar)


    Das mit dem json-modul ist blöd, weil die Datei dann eine völlig andere Struktur bekommt.

    Da steht jedes Attribute in einer neuen Zeile.

    Bevor es da Probleme mit irgendwas anderem gibt, hab ich das erstmal gelassen :winking_face:

    Nun wäre aber immer noch das Problem, wenn einer "sort" oder "hide" bei sich geändert hat, wird die Zeile auch immer gelöscht.

    Evtl. müsste man die gutemine-Zeile splitten und die Werte für sort/hide übernehmen und nur die geänderten Werte (Name, desc, filter) eintragen.

    Dann die alte Zeile durch die geänderte Zeile ersetzen und nicht löschen :winking_face:


    Ich probiere da noch etwas herum :winking_face:

    Gruß Sven (aka Dreamy)


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

  • Du hast dich aber da festgehalten das der Eintrag der letzt wäre ,ich hab den nur dort hin sortiert bei mir ,jemand anders kann den auch woanders hin sortieren ,das ist ja ne verschiebe Funktion und die sagt nicht das man den gutemine Eintrag bis an letzte stelle verschieben muss.

    Das gleiche gilt hide ,sort und hide sind nunmal Funktion des GP addoanager die man verwenden kann ,dafür sind sie gemacht com Plugin Ersteller.

  • Was willst du damit jetzt sagen ?


    Der Fehler trat nur auf, wenn der gutemine-Eintrag als letzter in der Liste stand.

    Deshalb ist es vermutlich auch keinem aufgefallen.

    Da ergab sich ja das Problem mit dem übriggebliebenen Komma nach dem dann letzten Eintrag.


    Sofern der Eintrag weiter vorne stand, hat es ja funktioniert, wie bei den meisten hier :winking_face:

    Gruß Sven (aka Dreamy)


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

  • A OK dann ist es was anderes ich hatte es nur immer als letztes geschoben und daher auch nicht probiert mit einer anderen stelle .

    Wenn du sagst das der Fehler dann nur passiert und ihr das gefixt habt ist das OK ,ich wollte vorhin nur sagen das du das mit einer anderen stelle auch testen solltest weil ich das halt nicht gemacht habe ,nicht das es dann da auch passiert mehr nicht.

  • Mit deinem "besonderen" Verschieben ans Ende hast du einen Bug entdeckt:thumbs_up:

    Das hat wohl kein anderer bisher gemacht :winking_face:


    Wenn der AddonManager eine geänderte externe Filter-json eigenständig passend nachladen würde, hätte man es hier deutlich einfacher :winking_face:

    Weil wer sagt, dass sich die externe Filter-json nicht mal ändern könnte ?!?

    Im Moment lädt dieser die Daten ja nur nach, wenn man die ganze Zeile vorher löscht.


    Also so müssen wir den Job zum Aktualisieren der externen Filter-json jetzt hier übernehmen, was gerade in Bezug auf hide/sort eben etwas komplizierter wird.

    Gruß Sven (aka Dreamy)


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