X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fconfig.py;h=4abed14ebc699d430f02cd0940abd5754c358c96;hb=35190cea6dda6d65537b110f82a5d3f5277bd94c;hp=3609d34666b3d99c3a9f18a332fbe4590737498a;hpb=af6ee17b251b1ae074e1eca5d80c7a599ee88536;p=m_librarian.git diff --git a/m_librarian/config.py b/m_librarian/config.py index 3609d34..4abed14 100755 --- a/m_librarian/config.py +++ b/m_librarian/config.py @@ -1,9 +1,13 @@ #! /usr/bin/env python -__all__ = ['get_config'] - +from __future__ import print_function import os -from ConfigParser import SafeConfigParser +try: + from ConfigParser import RawConfigParser +except ImportError: # py3 + from configparser import RawConfigParser + +__all__ = ['get_config'] def _find_config_dirs_posix(): @@ -35,18 +39,24 @@ def find_config_file(config_dirs=None): raise IOError("Cannot find m_librarian.conf in %s" % config_dirs) -def get_config(config_filename=None): - if config_filename is None: - config_filename = find_config_file() - ml_conf = SafeConfigParser() - ml_conf.read(config_filename) - return ml_conf +_ml_config = None + + +def get_config(config_path=None): + global _ml_config + if _ml_config is None: + if config_path is None: + config_path = find_config_file() + _ml_config = RawConfigParser() + _ml_config.read(config_path) + return _ml_config def test(): config_dirs = find_config_dirs() - print "Config dirs:", config_dirs - print "Config file:", find_config_file(config_dirs) + print("Config dirs:", config_dirs) + print("Config file:", find_config_file(config_dirs)) + if __name__ == '__main__': test()