#! /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():
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()