*.py Datei erzeugen mittels Plugin

  • Hi,


    könnt ihr mir behilflich sein? Ich bin dabei ein Plugin zu schreiben, bei dem man diverse Einstellungen für eine py-Datei vornehmen kann.
    D.h. ich müsste vom Plugin heraus eine neue py-Datei erstellen können.


    Wo muss ich da ansetzen bzw. gibt es bereits irgendwelche Beispiele dazu?

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • Wie meinst du das? Einstellungen für eine py in eine neue py schreiben?


    Sorry, komme da nicht ganz mit.


    Für Einstellungssachen kannst du doch die config.py Funktionen aus enigma2 benutzen.

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Zitat

    Original von AliAbdul
    Wie meinst du das? Einstellungen für eine py in eine neue py schreiben?


    Sorry, komme da nicht ganz mit.


    Für Einstellungssachen kannst du doch die config.py Funktionen aus enigma2 benutzen.


    Nein ich meine mit Einstellungen so gewisse Konstanten innerhalb der py-Datei. So wie ein Delay-Wert der am Anfang der pyfiniert wird.
    Oder wäre es einfacher diese Konstanten ausserhalb zu definieren und in der py nur mehr diese externen auszulesen?


    ...arbeite mich gerade erst eine in diese ganze Python-Geschichte :tongue:

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • Yo, kannst doch die enigma2 Funktionen dazu benutzen. Das Gute daran ist, dass du dir zwecks Datei öffnen/lesen/schliessen/sichern keine Gedanken machen musst, da das enigma2 übernimmt.

    Python
    from Components.config import config, ConfigInteger
    
    
    config.plugins.ZapHistoryConfigurator = ConfigSubsection()
    config.plugins.ZapHistoryConfigurator.maxEntries_zap_history = ConfigInteger(default=20, limits=(1, 60))


    Somit hast du eine vordefinierte Einstellung mit dem Wert 20 und kannst im Bereich von 1 und 60 ändern.


    Wert ändern kannst du dann somit:

    Code
    config.plugins.ZapHistoryConfigurator.maxEntries_zap_history.value = 25
    config.plugins.ZapHistoryConfigurator.maxEntries_zap_history.save()


    Ein Einstellungsfenster kannst du auch anzeigen lassen, falls es der Benutzer ändern können soll.
    Wie das geht kannst du dir gerne hier oder wo anderes abschauen: http://git.opendreambox.org/?p…06459fdb8c7d361d08e8cfb92


    Siehe dazu die Klasse ZapHistoryConfigurator.


    In der config.py kannst du dir auch alle möglichen Varianten anschauen.

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Hey super! Danke!
    Ich glaub das war genau das was ich gesucht habe. Ich werd es dann bei Gelegenheit probieren...

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • AliAbdul: In welche Datei bzw. Verzeichnis wird die ZapHistory hingeschrieben in deinem Beispiel?

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • /usr/lib/enigma2/python/Plugins/Extensions/ZapHistoryBrowser

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Zitat

    Original von AliAbdul
    /usr/lib/enigma2/python/Plugins/Extensions/ZapHistoryBrowser


    Nein ich meine die History-Einträge selbst. Erledigt das auch enigma2 selbst?

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • Die History-Einträge werden in der ChannelSelection gespeichert. Kannst du auch in meinem Code anschauen (Funktion addToHistory).

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Zitat

    Original von AliAbdul
    Die History-Einträge werden in der ChannelSelection gespeichert. Kannst du auch in meinem Code anschauen (Funktion addToHistory).


    ...und dort wird sie dann schlussendlich wohin gespeichert? In den servicePath? Wo ist der definiert?
    Blick irgendwie noch gar nicht durch...

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • Ne, die Zaphistory Einträge befinden sich nur in einer Liste. Wenn du enigma2 neu startest sind diese weg. Die werden nirgendwo gespeichert.

    <b>MfG Ali</b>
    <p />
    <select OnChange="window.open(this.options[this.selectedIndex].value, 'New')">
    <option value="/wbb2">Aus meinem Labor:</option>
    <option value="/wbb2/thread.php?threadid=127480">ARD Mediathek</option>
    <option value="/wbb2/thread.php?threadid=105590">CCcam Info</option>
    <option value="/wbb2/thread.php?threadid=99943">CS-Manager</option>
    <option value="/wbb2/thread.php?threadid=117478">DVD Backup</option>
    <option value="/wbb2/thread.php?threadid=90957">Extended Service Info</option>
    <option value="/wbb2/thread.php?threadid=92153">Mosaic</option>
    <option value="/wbb2/thread.php?threadid=114726">Movie Jukebox</option>
    <option value="/wbb2/thread.php?threadid=127314">Movielist Preview</option>
    <option value="/wbb2/thread.php?threadid=107501">ORF.at</option>
    <option value="/wbb2/thread.php?threadid=99478">Permanent Clock</option>
    <option value="/wbb2/thread.php?threadid=111496">Podcast</option>
    <option value="/wbb2/thread.php?threadid=125382">Porn Center</option>
    <option value="/wbb2/thread.php?threadid=89009">RS Downloader</option>
    <option value="/wbb2/thread.php?threadid=118188">Seekbar</option>
    <option value="/wbb2/thread.php?threadid=92584">Zap-History Browser</option>
    <option value="/wbb2/thread.php?threadid=127065">Zap Statistic</option>
    <option value="/wbb2/thread.php?threadid=125298">ZDF Mediathek</option>
    </select>

  • Zitat

    Original von AliAbdul
    Ne, die Zaphistory Einträge befinden sich nur in einer Liste. Wenn du enigma2 neu startest sind diese weg. Die werden nirgendwo gespeichert.


    Hmm, ist wohl doch nicht das was ich gesucht habe. Ich versuche meine Absichten nochmal genauer zu erklären:
    Es gibt hier diese Renderer(SCROLL-LCD-TEXT für jedermann /for everyone (as standalone pack)), welche es ermöglichen einfache Texte scrollable auf dem LCD wiederzugeben. Mein Ziel wäre es verschiedene Einstellungen, wie zB das Scrolldelay per Plugin einstellbar zu machen.
    Dazu müsste man jeweils eine neue py-Datei erzeugen mit jeweils anderen Werten zu den Konstanten...

    Don't dream your life, live your dreambox...


    Gemini4 @ Merlin4 OE2.5
    Dreambox 7080
    ______________________________________________

  • Das ist aber keine gute Idee das so zu machen...


    Mach es lieber so, dass du im Plugin die Settings mittels der config-Klasse aus enigma2 speicherst... Wie das geht, hat Ali ja oben gepostet...


    Den Renderer schreibst du dann so um, dass diese Konstanten/Variablen aus der Config gelesen werden...
    Um das in Speichern der Werte (in der /etc/enigma2/settings) kümmert sich e2 dann für dich...

    so long
    m0rphU



    :aufsmaul: Kein Support per PN! :aufsmaul: