pyuserconfig/Konzept.v2

55 lines
1.8 KiB
Plaintext
Raw Normal View History

2016-01-23 19:26:58 +01:00
* Verzeichnisstruktur aendern
modul/
os/
linux/
osx/
host/
hostname1/
hostname2/
any/
* Auswahl und Reihenfolge Dateien
- 3 Kategorien mit Default Order
- 1: any
- 10: os
- 50: host
- hoechste Order kommt am Ende (== ueberschreibt im Zweifel Optionen von zuvor)
- userconfig.cfg Config Datei in Verzeichnissen modul/,
modul/os, modul/os/$foo,
modul/host, modul/host/$foo,
modul/any
- Format ConfigParser, [section] mit key = value
- [global] section gilt fuer alle Dateien ab diesem Verzeichnis
- userconfig.cfg in tieferem Verzeichnis ueberschreibt im Zweifel darueberliegende
Werte
- Es koennen auch Optionen pro Datei/Verzeichnis unterhalb /modul/any oder
/modul/{host,os}/$foo angegeben werden, Beispiel Tree:
/bash/userconfig.cfg
/bash/any/.bash_profile
/bash/any/.bashrc
/bash/os/Linux/.bashrc
/bash/os/osx/.bashrc
/bash/host/glitters/.bash_profile
/bash/host/glitters/.bashrc
/bash/host/ra/.bash_logout
/bash/host/ra/.foobar/baz
userconfig.cfg kann Referenzen auf Dateinamen als Section enthalten:
[global]
dest = $HOME
commentstring = #
[.foobar/baz]
dest = $HOME/.tmp
Damit wird .foobar/baz nach $HOME/.tmp kopiert, alles andere direkt nach $HOME
- Optionen fuer Config:
- dest = string : Zielverzeichnis
- commentstring = string : Kommentar der Config-Datei (fuer SVN-Header usw)
- order = int : Manuell order setzen
- first = bool : diesen Teil ganz oben setzen (hilft nicht bei mehreren
config-dateien, dann order)
- last = bool : diesen Teil ganz unten setzen (hilft nicht bei mehreren
config-dateien, dann oder)