# -*- mode: python -*- # -*- coding: utf-8 -*- """Chargement de la configuration locale """ import os import sys from notes_log import log import sco_config # scodoc_local defines a CONFIG object # here we check if there is a local config file def load_local_configuration(scodoc_cfg_dir): """Load local configuration file (if exists) and merge it with CONFIG. """ # this path should be synced with upgrade.sh LOCAL_CONFIG_FILENAME = os.path.join(scodoc_cfg_dir, "scodoc_local.py") LOCAL_CONFIG = None if os.path.exists(LOCAL_CONFIG_FILENAME): if not scodoc_cfg_dir in sys.path: sys.path.insert(1, scodoc_cfg_dir) try: from scodoc_local import CONFIG as LOCAL_CONFIG log("imported %s" % LOCAL_CONFIG_FILENAME) except ImportError: log("Error: can't import %s" % LOCAL_CONFIG_FILENAME) del sys.path[1] if LOCAL_CONFIG is None: return # Now merges local config in our CONFIG for x in [x for x in dir(LOCAL_CONFIG) if x[0] != "_"]: v = getattr(LOCAL_CONFIG, x) if not v in sco_config.CONFIG: log("Warning: local config setting unused parameter %s (skipped)" % x) else: if v != sco_config.CONFIG[x]: log("Setting parameter %s from %s" % (x, LOCAL_CONFIG_FILENAME)) sco_config.CONFIG[x] = v