Posts by Sven H

    Sven H

    wenn ich bei dem Plugin VideoDB von Dr.Best einen film abspielen möchte crasht es, könnte an Quickbutton liegen :-) ?

    Probiere mal diese Version ;)


    Da kann man jetzt im Setup auch die hoch/runter-Taste mit der Wunschfunktion belegen.

    Dadurch auch folgende neue Funktionen: Kanal-Liste, Kanal-Liste (hoch), Kanal-Liste (runter)

    Leider nicht. Hab nur DVB-S/S2. Müsste evtl. beobachten, welcher Sender dann gerade aktiv ist, ob es da einen Zusammenhang gibt.
    Die 920 hängt per LAN am Netz und die FB ist dann nicht nur träge, sondert reagiert gar nicht - da hilft nur ein GUI-Neustart.


    Seit 21.11. trat das Problem jetzt auch nicht mehr auf.
    Manchmal zeigt es sich nur alle paar Wochen und manchmal eben auch gleich 2 Tage hintereinander.


    Schon sehr merkwürdig ;)

    Schade, trotzdem Danke für deine Rückinfo.

    Hatte gehofft, dass man der Ursache irgendwie noch auf die Schliche kommt ;)


    Mir fiel vorhin noch ein, ich werde beim nächsten Mal versuchen, die Jumper der FB zu ändern.

    Keine Ahnung, ob das was bringt, aber testen werde ich das noch ;)

    Nicht, dass da irgendwas durcheinander kommt und die Box die FB auf einem anderen "Kanal" erwartet :/

    Hallo


    Bei einer meiner beiden 920 hatte ich gelegentlich das Problem (jetzt aber schon 2 Tage in Folge), dass die Fernbedienung nach einem Box-Start bzw. sehr selten nach einem GUI-Neustart nicht reagiert.

    (die FB selbst funktioniert - da sie an der anderen 920 zu diesem Zeitpunkt problemlos genutzt werden kann, die andere FB funktioniert dann an der Problembox ebenfalls nicht)


    Die Box lässt sich dann aber ohne Probleme über eine App oder das Webif bedienen.

    Ein GUI-Neustart über das Webif hat das Problem bisher immer behoben.

    Nach dem Neustart funktionierte die FB dann immer wieder ganz normal.


    Gibt es da eine Möglichkeit, wie ich die Ursache finden kann ?

    Ghost hatte mir schon mal einen Tipp zu strace gegeben, wo im Ergebnis rauskam, dass e2 zu diesem Zeitpunkt tatsächliche keine Signale der FB empfängt.


    Gibt es da einen bestimmten Dienst, der für die FB verantwortlich ist, den man per Telnet mal neustarten könnte?

    An ein Hardware-Problem , denke ich eher nicht, da ja ein GUI-Neustart das Problem schon behebt.

    Das wäre mir bei einem nötigen Box-Neustart einleuchtender.

    Hallo


    Im Advanced-Qucikbutton-Plugin kann man ja mittels der eigenen keymap.xml eine Taste mit normalem Tastendruck (flag=b) und langem Tastendruck (flag=l) belegen.


    Nun ist es merkwürdigerweise bei der langen Taste so, dass bei hinterlegten Aktionen, die keinen Screen nutzen (z.B. einfaches Ändern der 4:3 Einstellung über den Config-Value ohne Messagebox), nach der Aktion für die lange Taste, anschließend trotzdem noch die Aktion für die normale Taste (loslassen) ausgelöst wird.


    Gibt es einen Befehl, um die Tastatureingabe an dieser Stelle zu resetten, so dass der Loslassen-Befehl nach dem langen Tastendruck bei solchen Aktionen ohne eigenen Screen nicht mehr ausgeführt wird?


    Wenn ich nach der Aktion, die keinen Screen hat, nur kurz einen eigenen unsichtbaren Screens starte und im __init__ gleich wieder schließe, funktioniert das Ganze.

    Dann wird die normale Taste beim Loslassen nach der langen Taste nicht ausgelöst.

    Was wird denn beim Öffnen/Schließen eines Screens mit dem Tastaturpuffer gemacht, so dass die Loslassenaktion der Taste nach der langen Taste dann nicht mehr ausgeführt wird?

    Hallo


    Im OoZooN hat ein User gemeldet, dass das PluginSort bei System-Sprachen wie Russisch oder Urkrainisch nicht funktioniert.

    Eigene Tests bestätigten das Problem.


    Folgende geringfügige Code-Änderung in Zeile 145 in der plugin.py führte zum Erfolg.


    bisher: self.plugins.setdefault(whereid, {})[name] = weight


    neu: self.plugins.setdefault(whereid, {})[name.encode('utf-8')] = weight


    Da Unicode und encode … nicht mein Lieblingsthema ist, wollte ich das jetzt noch nicht direkt ins git commiten, da ich nicht weiß, ob es da noch andere Probleme geben könnte, die ich gerade nicht sehe. ;)

    Erste Tests zeigten hier zumindest keine Probleme.


    Könnte man die Änderung problemlos ins git übernehmen ?

    Schaut doch mal ob du den Eventname auch noch replacen kannst wenn er am Textanfang nochmals steht.

    So geht das dann auch ;)

    (also die beiden oberen Zeilen zusätzlich)

    Code
    1. if description.startswith(name + "\n") or description.startswith(name + "\\n"):
    2. description = description.replace(name + "\\n","").replace(name + "\n","")
    3. self.description = description.replace("\\n"," - ").replace("\n"," - ")

    Ist nur die Frage, ob das jedem gefällt, oder ob auch jemand den Eventnamen doppelt in der ShortDesc haben will :/

    Wobei man hier aber auch wieder aufpassen muss mit der globalen Sache im Core.


    Die mehrzeilige Ausgabe im EventView wäre dann aber auch weg, was im Moment gar nicht so blöd aussieht.
    (Ich meine bei der Ausgabe über den Converter mit FullDescription, wo shortdesc und extdesc als ein Text mit Leerzeile dazwischen zurückgegeben werden).

    Geht bestimmt ;)


    Muss ich mal rumspielen
    If shortdesc.startwith(eventname): replace ...


    Hast du ein Bespiel?
    Dann testet sich sowas immer besser ;)


    Aber grundsätzlich wäre es vielleicht besser, dass man das Problem mit der neuen mehrzeiligen Shortdescription schon sauber vom Core zurückgemeldet wird.
    Dann muss man das nicht an jeder Stelle einzeln "hacken" ;)

    Ich hätte gedacht, dass die meta dann hier dran ist (weil ja kurz darunter was von Fehler bei meta steht):

    http://git.opendreambox.org/?p…72;hb=refs/heads/4.3#l205


    Und da wurde das einfache "\n" bereits entfernt. Aber eben nicht das komische "\\n" einiger Anbieter.

    Was aber durch den "Hack" jetzt auch passt, weil der bereits bereinigte Wert da ja verwendet wird.

    Aber kann gut sein, dass der Core da auch noch was macht, was ich gerade nicht auf dem Schirm habe ;)

    Reichi

    Ich hab hier mal den gleichen Fix aus den EPGSearch im RecordTimerEntry genutzt und könnte damit leben ;)

    http://git.opendreambox.org/?p…72;hb=refs/heads/4.3#l114

    Code: RecordTimer.py (4.3)
    1. self.description = description.replace("\\n"," - ").replace("\n"," - ")

    Man muss da leider beide Varianten prüfen, weil es auch Anbieter gibt, die das "\n" mit 2 Zeichen chr(92) + chr(110) abbilden, während es normal ja nur 1 Steuerzeichen chr(10) ist.


    Zum Thema mit der seperation scheint es bei ConfigText tatsächlich noch einen Bug zu geben, der mit der visible_width zusammenhängt.

    Ist der Wert für ConfigText schon zu Beginn zu breit, bleibt es bei visible_width (siehe Feld "Beschreibung") oder seperation "400" hängen.

    Ändere ich aber einen schmalen ConfigText nachträglich, geht der auch über die visible_width hinaus bis zur seperation (siehe Feld "Name").

    (hab hier im Screen eine seperation von 200 gesetzt)

    Du kannst dir aber selber relativ leicht eine getCurrentName machen :/

    Klingt gut. :thumbup:

    Kannst du mir mal einen Denkanstoß geben ?

    Grüble da ja schon ne Weile rum und finde einfach keinen neuen Ansatz mehr ;)


    Edit:

    aktuell gebe ich im getConfigListEntry noch einen 3. Parameter als String mit, den ich dann im changed mit current[2] auswerte.

    Wenn ich aber aus dem Config-Objekt auch den Namen als String zurückbekomme, könnte ich mir das sparen ;)

    dre

    Danke für die Idee - hatte kurz Hoffnung ;)

    imho ist current[1] ein objekt... daher wird das mit string funktionen nicht funktionieren.

    So sieht es wohl aus :(

    current[1] ist ja das Config-Element.


    folgender Code:

    Code
    1. current = self["config"].getCurrent()
    2. print "===", current[1]
    3. pos = current[1].rfind(".")

    ergibt das hier:

    Code
    1. === <Components.config.ConfigSelectionNumber object at 0xa4015810>
    2. Traceback (most recent call last):
    3. File "....py", line 201, in changed
    4. pos = current[1].rfind(".")
    5. AttributeError: 'ConfigSelectionNumber' object has no attribute 'rfind'

    Hallo


    Man kann ja im ConfigListScreen im changed der config-List abfragen, welches Config-Element da geändert wurde.

    Code
    1. def changed(self):
    2. current = self["config"].getCurrent()
    3. if current[1] == config.plugins.testplugin.testKey:
    4. #mache irgendwas
    5. ...

    Da kann ich ja dann das current[1] mit einem bestimmten Config-Element prüfen und dann im Code unterschiedliche Dinge machen je nach Config-Element.


    Gibt es nun aber eine Möglichkeit, wie ich von current[1] (config.plugins.testplugin.testKey) auf den Keynamen "testKey" des Config-Elements komme ?

    Solche Sachen gehen da leider nicht:

    Code
    1. current[1].__name__
    2. current[1].__keyname__

    Im .__dict__ und .__class__.__dict__ ist leider auch nichts zu finden. :/

    bei dem appClosed legst du vorher fest, welche def ausgeführt wird, wenn der Container fertig ist.

    Code
    1. self.container = eConsoleAppContainer()
    2. self.appClosed_conn = self.container.appClosed.connect(self.afterAppClosed)
    3. ...