6.13. Configuration d'application

6.13.1 AppConfig()

Karrigell fournit un moyen simple de sauvegarder/restaurer des données simples pour votre application. L'utilisation principale est la configuration d'applications. Par example, la démo "Liste de diffusion" sauvegarde/restaure le nom du serveur SMTP en utilisant AppConfig().

AppConfig() accepte 1 paramètre : Le nom de votre application.
Comme un serveur peut servir plusieurs applications, le nom de l'application est nécessaire pour sauver/restaurer les données dans/depuis des fichiers séparés. Bien sûr, une application peut utiliser plusieurs noms pour ses propres besoins.

Créer un objet AppConfig :
import k_app_config
app_config = k_app_config.AppConfig ("test")

Sauvegarder une donnée est aussi simple que de l'écrire :
app_config.data = "test"

Restaurer une donnée est également très simple :
data = app_config.data

Pour effacer une donnée :
del(app_config.data)

Il est possible de sauvegarder/restaurer tout objet qui est "pickable".

6.13.2 Exemple

import k_app_config
def GetSmtpServer ():
    app_config = k_app_config.AppConfig ("mailing list")
    try :
        return app_config.smtp_server
    except AttributeError :
        app_config.smtp.server = "my.smtp.server.com"

Dans cet exemple, si le membre smtp_server n'existe pas, une valeur par défaut lui est affectée.

Bien sûr, dans la vraie vie, dans le cas d'une erreur de type AttributeError, il serait nécessaire de rediriger vers une page demandant à l'administrateur de saisir le nom du serveur smtp (voir la démo Liste de diffusion).