bioblend.config — BioBlend 0.5.4-dev documentation

# Source code for bioblend.config

    import os

    from six.moves import configparser

    BioBlendConfigPath = '/etc/bioblend.cfg'
    BioBlendConfigLocations = [BioBlendConfigPath]
    UserConfigPath = os.path.join(os.path.expanduser('~'), '.bioblend')
    BioBlendConfigLocations.append(UserConfigPath)

    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)

        def get_value(self, section, name, default=None):
            return self.get(section, name, default)

        def get(self, section, name, default=None):
            try:
                val = configparser.SafeConfigParser.get(self, section, name)
            except:
                val = default
            return val

        def getint(self, section, name, default=0):
            try:
                val = configparser.SafeConfigParser.getint(self, section, name)
            except:
                val = int(default)
            return val

        def getfloat(self, section, name, default=0.0):
            try:
                val = configparser.SafeConfigParser.getfloat(self, section, name)
            except:
                val = float(default)
            return val

        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