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