gpyconf ist ein Tool, welches aus deklarativer Syntax (ähnlich djangos Models) GTK-Konfigurationsfenster generiert und das komplette Konfig-Management handelt.
Nagut, Code sagt mehr als 1000 Worte, oder wie war das ;)
Code: Alles auswählen
#!/usr/bin/env python
import gpyconf
class EmailSettings(gpyconf.Configuration):
backend_kwargs = dict(file='email_settings.ini')
imap = gpyconf.fields.CharField('IMAP server address')
smtp = gpyconf.fields.CharField('SMTP server address')
user = gpyconf.fields.CharField('Username for those servers')
password = gpyconf.fields.PasswordField('Password')
use_ssl = gpyconf.fields.BooleanField('Use SSL/TLS (recommended)')
inbox_update = gpyconf.fields.IntegerField('Inbox updating cycle (in minutes)')
config = EmailSettings()
config.show_window()
Würde resultieren in:

Edit: Weiteres Beispiel für ein Fenster (da das obere hässlich ist (wobei, das hier ist auch nicht gerade besser)):

Benutzt man jetzt `ConfigParser` als Backend, würde die Konfigurationsdatei nach einem Speichern mit den im Bild eingestellten Werte so aussehen:
Code: Alles auswählen
[default]
smtp = smtp.myprovider.tld
user = myusername
inbox_update = 10
use_ssl = 1
password = bXlwYXNzd29yZA==
imap = imap.myprovider.tld
Das erzeugte Fenster ist z.Zt. noch grottig, was daran liegt, dass ich einfach kein Auge für sowas habe.
Wer sich das Zeugs mal ansehen will:
Feedback aller Art erwünscht :)hg clone http://hg.lophus.org/gpyconf