Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/creactistore/_templates/lib/olpcfr/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'creactistore/_templates/lib/olpcfr/config.py')
-rw-r--r--creactistore/_templates/lib/olpcfr/config.py111
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