Source code for bioblend.config
import os
import ConfigParser
BioBlendConfigPath = '/etc/bioblend.cfg'
BioBlendConfigLocations = [BioBlendConfigPath]
UserConfigPath = os.path.join(os.path.expanduser('~'), '.bioblend')
BioBlendConfigLocations.append(UserConfigPath)
[docs]class Config(ConfigParser.SafeConfigParser):
"""
BioBlend allows library-wide configuration to be set in external files.
These configuration files can be used to specify access keys, for example.
By default we use two locations for the BioBlend configurations:
* System wide: ``/etc/bioblend.cfg``
* Individual user: ``~/.bioblend`` (which works on both Windows and Unix)
"""
def __init__(self, path=None, fp=None, do_load=True):
ConfigParser.SafeConfigParser.__init__(self, {'working_dir': '/mnt/pyami',
'debug': '0'})
if do_load:
if path:
self.load_from_path(path)
elif fp:
self.readfp(fp)
else:
self.read(BioBlendConfigLocations)
[docs] def get_value(self, section, name, default=None):
return self.get(section, name, default)
[docs] def get(self, section, name, default=None):
try:
val = ConfigParser.SafeConfigParser.get(self, section, name)
except:
val = default
return val
[docs] def getint(self, section, name, default=0):
try:
val = ConfigParser.SafeConfigParser.getint(self, section, name)
except:
val = int(default)
return val
[docs] def getfloat(self, section, name, default=0.0):
try:
val = ConfigParser.SafeConfigParser.getfloat(self, section, name)
except:
val = float(default)
return val
[docs] def getbool(self, section, name, default=False):
if self.has_option(section, name):
val = self.get(section, name)
if val.lower() == 'true':
val = True
else:
val = False
else:
val = default
return val