Konfigurationsdaten/Kommandozeilen Parameter oganisieren...
Verfasst: Dienstag 20. Oktober 2009, 07:07
Jedes mal wenn ich ein kleines Mini Programm schreibe, frage ich mich, wie ich die Konfigurationsdaten oganisieren könnte. In letzter Zeit mache ich oft sowas ähnliches:
Oft liegen Konfigurationsdaten als Textdateien in unterschiedlichen Formaten vor. Die meisten Linux Programme nutzten ein einfaches Text Format wie:
Es gibt noch das INI Format oder XML Dateien (z.B. VirtualBox) oder sowas wie django's setup.py...
All diese Formate haben aber keine Metadaten zur Validierung der Eingangsdaten.
Wäre es nicht gut, wenn man mal ein einheitliches Format sich ausdenkt, welches So einfach lesbar ist, wie die Textdateien, aber auch von Programmen verarbeitet werden kann und Validierungs Daten enthält?
XML geht da ein wenig in die Richtung. Aber auch flach gehaltene XML Dateien sind nicht so einfach zu lesen, wie Textdateien.
Ein ähnliches Problem sehe ich bei Kommandozeilen Parameter. Es gibt dort auch zig verschiedene Formate, was die Angabe der Parameter angeht.
Würde es ein einheitliches Format für Konfigurationsdaten/Kommandozeilen Parameter geben, welches "Machinenlesbar" ist, könnte man sehr schnell GUIs/ncurses Oberflächen generieren.
Im Grunde kann django's form genau das:
1. Festlegen des Typs (Zahl, String usw.)
2. Daten zur Validierung (Zahl zwischen 1 und 10, oder String mit Länge von 5 bis 15 Zeichen usw.)
3. Hilfe Text
4. Generieren der Eingabe (Im Falle von form: HTML Form Felder)
5. Validieren der Eingabe und Rückmeldung von Fehler
In Python geht optparse und ConfigParser schon ein wenig die die Richtung.
Irgendwie kann ich mir aber nicht vorstellen, das es sowas nicht schon im Ansatz gibt. Weiß da jemand mehr?
Code: Alles auswählen
class Config(object):
FOO = "Bar" # Hilfstext
VAR1 = 123
Code: Alles auswählen
# Das ist ein Kommentar, der meist über der jeweiligen Variable steht und diese beschreibt
VARIABLE1 = 123
All diese Formate haben aber keine Metadaten zur Validierung der Eingangsdaten.
Wäre es nicht gut, wenn man mal ein einheitliches Format sich ausdenkt, welches So einfach lesbar ist, wie die Textdateien, aber auch von Programmen verarbeitet werden kann und Validierungs Daten enthält?
XML geht da ein wenig in die Richtung. Aber auch flach gehaltene XML Dateien sind nicht so einfach zu lesen, wie Textdateien.
Ein ähnliches Problem sehe ich bei Kommandozeilen Parameter. Es gibt dort auch zig verschiedene Formate, was die Angabe der Parameter angeht.
Würde es ein einheitliches Format für Konfigurationsdaten/Kommandozeilen Parameter geben, welches "Machinenlesbar" ist, könnte man sehr schnell GUIs/ncurses Oberflächen generieren.
Im Grunde kann django's form genau das:
1. Festlegen des Typs (Zahl, String usw.)
2. Daten zur Validierung (Zahl zwischen 1 und 10, oder String mit Länge von 5 bis 15 Zeichen usw.)
3. Hilfe Text
4. Generieren der Eingabe (Im Falle von form: HTML Form Felder)
5. Validieren der Eingabe und Rückmeldung von Fehler
In Python geht optparse und ConfigParser schon ein wenig die die Richtung.
Irgendwie kann ich mir aber nicht vorstellen, das es sowas nicht schon im Ansatz gibt. Weiß da jemand mehr?