[PYTHON] Diviser le fichier ini de la structure pyramidale

Notez que j'ai étudié comment diviser le fichier ini qui écrit les paramètres dépendants de l'environnement.

Puisque python n'a pas de fonction pour définir les constantes par défaut, j'écris actuellement des constantes dans le fichier ini. Puisqu'un fichier ini est créé pour chaque environnement, le même contenu est décrit plusieurs fois, ce qui complique la gestion, j'ai donc décidé de créer un fichier ini commun et de le charger dans chaque fichier ini d'environnement.

Préparez common.ini en plus de development.ini et production.ini.

#common.ini
[common]

nom = Taro Yamada tel = 03-xxxx-xxxx

Définissez le chemin du fichier de common.ini dans les fichiers d'environnement de development.ini et production.ini comme suit. (Quand dans la même hiérarchie)

common.path = %(here)s/common.ini

Créez une fonction pour charger common.ini dans \ ini.py où les paramètres de démarrage de l'application sont écrits.

def common_ini(settings):
    import os
    from ConfigParser import SafeConfigParser
    ini = settings.get("common.path")
    if ini is None:
        return
    if not os.path.exists(ini) and os.path.isfile(ini):
        raise ConfigurationError("ini is not found")

    conf = SafeConfigParser()
    conf.read(ini)
    return dict(conf.items('common'))

Config.add_settings la fonction ci-dessus avec la fonction principale.

def main(global_config, **settings):
    """ This function returns a WSGI application.
    from pyramid.config import Configurator
    config = Configurator(settings=settings)
    config.add_settings(common_ini(settings))

Avec cela, en plus de chaque fichier ini d'environnement, un fichier ini commun peut être lu en plus.

Recommended Posts

Diviser le fichier ini de la structure pyramidale
Le cadre Common Clk
[Python] Fractionner la date
Accès aux fichiers sous le répertoire
Pouvez-vous supprimer ce fichier?
Comment faire une commande pour lire le fichier de paramètres avec pyramide