3 from __future__ import print_function
6 from ..config import RawConfigParser, ConfigWrapper, find_config_file
9 __all__ = ['get_session_config']
12 def _find_config_dirs_posix():
14 if 'XDG_CACHE_HOME' in os.environ:
15 config_dirs.append(os.environ['XDG_CACHE_HOME'])
16 home_cache = os.path.expanduser('~/.cache')
17 if home_cache not in config_dirs:
18 config_dirs.append(home_cache)
22 def _find_config_dirs():
23 if os.name == 'posix':
24 return _find_config_dirs_posix()
28 _ml_session_config = None
31 def get_session_config(config_path=None):
32 global _ml_session_config
33 if _ml_session_config is None:
34 _ml_session_config = RawConfigParser()
35 if config_path is None:
36 config_dirs = _find_config_dirs()
38 find_config_file(config_dirs, 'm_librarian_session.conf')
39 if config_path is not None:
40 _ml_session_config.read(config_path)
41 _ml_session_config = ConfigWrapper(_ml_session_config)
42 return _ml_session_config
46 config_dirs = _find_config_dirs()
47 print("Config dirs:", config_dirs)
49 find_config_file(config_dirs, 'm_librarian_session.conf'))
52 if __name__ == '__main__':