diff options
Diffstat (limited to 'creactistore/_templates/lib/olpcfr/config.py')
-rw-r--r-- | creactistore/_templates/lib/olpcfr/config.py | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/creactistore/_templates/lib/olpcfr/config.py b/creactistore/_templates/lib/olpcfr/config.py deleted file mode 100644 index 9180e54..0000000 --- a/creactistore/_templates/lib/olpcfr/config.py +++ /dev/null @@ -1,111 +0,0 @@ - -# python import -import logging -from ConfigParser import SafeConfigParser - -# get application logger -logger = logging.getLogger('atoideweb') - - -class Config(object): - - class __Singleton: - """Our singleton object. - """ - - def __init__(self, config=None): - """Create the new singleton with the application config. - - :param config: SafeConfigParser object for all the application - :see: `ConfigParser.SafeConfigParser` - """ - # ensure config - if config is None: - # ... - self.__config = SafeConfigParser() - # ... - self.__config.read('config.ini') - # ... - else: - self.__config = config - - def set(self, path, value, type_=str): - # set value - self.set_value(*path.split(">"), value=value, type_=type_) - - def get(self, path, type_=str): - """A little jQuery like shortcut for the `get_value` method. - - :param path: something like "section>option" - :param type_: type of the expected value. Default: str - :return: expected value in the expected type or None - :rtype: `object` - """ - # get value - _value = self.get_value(*path.split(">"), type_=type_) - # check and return - return None if _value is None or _value == "" else _value - - def set_value(self, section, option, value=None, type_=str): - # check has config - if self.__config is None: - return - # ensure section - if self.__config.has_section(section): - pass - else: - self.__config.add_section(section) - # do set - self.__config.set(section, option, value) - - def get_value(self, section, option, type_=str): - """Simple config value getter to avoid exception risk when getting - a config value. If the section and option exist, returns the - corresponding value, None otherwise. - - The `type_` parameter specify the expected option type and - return. - - :param section: section name of the expected value - :param option: option name name of the expected value - :param type_: type of the expected value. Default: str - :return: expected value in the expected type or None - :rtype: `object` - """ - # check has config - if self.__config is None: - return None - # check value exist - elif self.__config.has_section(section) \ - and self.__config.has_option(section, option): - # check expected value type - if type_ is int: - return self.__config.getint(section, option) - elif type_ is bool: - return self.__config.getboolean(section, option) - elif type_ is str: - return self.__config.get(section, option) - elif type_ is list: - _v = self.__config.get(section, option) - return _v.split(' ') - # unexpected type ?? - else: - return None - # value does not exist - else: - # do nothing - return None - - # singleton instance - instance = None - - def __new__(c, config=None, force=False): - """Singleton new init. - """ - # if doesn't already initialized - if not Config.instance \ - or force is True: - # create a new instance - Config.instance = Config.__Singleton(config=config) - # return the manager object - return Config.instance |