Gibt es Umgebungsvariablen für System-Pfade?

  • Hallo


    Hab dazu schon einige Male gegoogelt, allerdings nie was richtiges gefunden.


    Ich verwende in einem Plugin z.B. den Pfad zu "/tmp" oder "/media/hdd/backup". Auch die picon-Ordner sind ja generell immer wieder gefragt.


    Wenn das Plugin nun aber allgemeingültig für verschiedene User sein soll, wäre es gut, wenn ich die o.g. Pfade des Users verwenden könnte.
    Liegt z.B. der tmp-Ordner immer in "/tmp"?
    Liegt der Backup-Ordner immer in "/media/hdd/backup"?


    Gibt es dazu Umgebungsvariablen im System, wo o.g. Pfade festgelegt sind?


    Wenn ja, wie kann man die abfragen?

    Gruß Sven (aka Dreamy)


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

  • Ähm ja, /tmp ist immer gleich. /media/hdd/back hängt wahrscheinlich von den Einstellungen ab. Somit wird es vermutlich einen Config-Eintrag geben, den du abfragen kannst.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • schau doch in die settings ...


    config.plugins.configurationbackup.backuplocation=/media/hdd


    in python kannst du drauf mit zugreifen mit .value, also z.B:


    print config.plugins.configurationbackup.backuplocation.value

  • Eine Frage habe ich doch noch :smiling_face:


    config.plugins.configurationbackup.backuplocation.value ergibt bei Abfrage "/media/hdd/", was ja auch ok ist.


    Wenn ich aber in die Settings in "/etc/enigma2/" schaue, gibt es diesen Eintrag dort gar nicht.
    (nur config.plugins.configurationbackup.backupdirs)


    Kann es sein, dass Enigma mir da eine Standard-Einstellung zurückgibt ?
    Wo bzw. in welcher Datei kann man denn diese und weitere solcher Standard-Configurationen finden, die nicht in den Settings enthalten sind?


    Wäre ja mal interessant eine solche Liste durchzuschauen, falls man mal andere Configs-Werte braucht :face_with_tongue:

    Gruß Sven (aka Dreamy)


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

  • Ja, das ist wohl der Default-Wert. Der kommt vermutlich aus dem Code der Software-Verwaltung, die ja für die Backups zuständig ist.
    Genauso verhält es sich dann auch mit den anderen Configs. Die werden jeweils von dem Software-Teil definiert, der dafür zuständig ist. Meist sind das Plugins. Das ist also alles sehr verstreut.


    Evtl. kann dir jemand, der mit den Details von enigma2 vertraut ist einen Weg zeigen, per Python über die Config-Klassen an alle Parameter und Default-Werte zu kommen.

    so long
    m0rphU

  • Danke für die Info.


    Vielleicht findet sich ja jemand, der das mal macht.
    Denke, so eine Gesamtliste wäre manchmal hilfreich.

    Gruß Sven (aka Dreamy)


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

  • Wobei der Rückgabewert für backuplocation ja auch nicht ganz korrekt ist.
    Die Backup-Files liegen ja in "/media/hdd/backup/" und nicht wie im configs-Wert "/media/hdd/" angegeben.


    Da muss man sich dann wohl virtuell noch "/backup/" dazudenken.
    Da ist die backuplocation wohl eher das BaseDir für "/backup/".
    Wäre also backupbasedirlocation besser :smiling_face:

    Gruß Sven (aka Dreamy)


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

  • Da scheinen aber auch nur einige enthalten zu sein.


    Den backuplocation habe ich jetzt in der ImageWizard.py gefunden.


    Die configs sind tatsächlich total verteilt in allen möglichen *.py.


    Da wäre es echt super, wenn es ein Script gäbe, was die ganzen configs mit Angabe des Ursprungs und des aktuellen Inhalts zusammensammelt.


    Vielleicht hat ja sogar schon einer ein solches Script.

    Gruß Sven (aka Dreamy)


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

  • Naja, Plugins haben halt ihre eigenen Config-Einträge. Die müssen auch dort sein. In der UsageConfig.py sind praktisch alle Einträge, die e2 braucht. Ein paar wenige sind aus Notwendigkeit an anderer Stelle.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Um die Sammlung noch weiter zu vervollständigen, hab ich in der "python/Tools/Directories.py" noch ein paar Systempfade und Umgebungsvariablen zum Abfragen gefunden:


    zB. Verwendung des Plugin-Einstiegs-Pfades mit:


    Code
    From Tools.Directories import resolveFilename, SCOPE_PLUGINS
    path = resolveFilename(SCOPE_PLUGINS, "Extensions/myplugin/plugin.py")


    Da gibt es noch jede Menge weiterer Konstanten wie SCOPE_HDD, SCOPE_MEDIA …


    Dabei wird mit eEnv.resolve(...) z.B. auch das jeweils echte ${libdir}, ${datadir} bzw. ${sysconfigdir} als Einstiegspfad verwendet.

    Gruß Sven (aka Dreamy)


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

  • Wusste nicht, dass du diese auch suchst. Aber ja, dort gibt es die wichtigsten Pfade.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource