1"""
2obiKEGG2 configuration
3
4mostly just caching settings
5
6"""
7from __future__ import absolute_import
8
9import os
10
11from six import StringIO
12
13from orangecontrib.bioinformatics.utils import serverfiles
14
15try:
16    import ConfigParser as configparser
17except ImportError:
18    import configparser
19
20kegg_dir = serverfiles.localpath("KEGG2")
21
22default = """
23[cache]
24# path = %(home)s/.obiKEGG/
25path = %(kegg_dir)s/
26store = sqlite3
27invalidate = weekly
28
29[service]
30transport = urllib2
31# transport = requests
32
33"""
34
35# Orange kegg files dir
36
37env = dict(os.environ)
38env["kegg_dir"] = kegg_dir
39
40parser = configparser.ConfigParser(env)
41
42
43parser.readfp(StringIO(default), "default")
44
45# TODO: global settings rc file
46parser.read([os.path.expanduser("~/.obiKEGG/rc.cfg")])
47
48params = {}
49
50_ALL_PARAMS = ["cache.path", "cache.store", "cache.invalidate", "service.transport"]
51
52for p in _ALL_PARAMS:
53    section, option = p.split(".")
54    params[p] = parser.get(section, option)
55