]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/config.py
Fix flake8 E305: expected 2 blank lines after function
[m_librarian.git] / m_librarian / config.py
index 04e64e0c9f99e8aa949e1500eb69d1e15b28bdae..4abed14ebc699d430f02cd0940abd5754c358c96 100755 (executable)
@@ -1,7 +1,11 @@
 #! /usr/bin/env python
 
+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']
 
@@ -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()