class DBConfig(object):
    """
    A configuration class using database to persist.
    """

    #----------------------------------------------------------------------
    def __init__(self, db_path):
        """Constructor"""
        self.db_kvp_helper = DBKVPHelper('sqlite')
        self.connect(db_path)

    def connect(self, db_path):
        self.db_kvp_helper.connect(db_path)
        self.db_kvp_helper.use_table('config')

    def attach(self, db_conn):
        self.db_kvp_helper.attach(db_conn)
        self.db_kvp_helper.use_table('config')

    def get(self, section, key, default=None):
        db_key_name = section + '|' + key
        result = self.db_kvp_helper.read(db_key_name, default)
        if result:
            return result
        else:
            return default

    def getint(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return int(self.get(self, section, key, default))

    def getfloat(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return float(self.get(self, section, key, default))

    def getboolean(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return bool(self.get(self, section, key, default))

    def set(self, section, key, value):
        db_key_name = section + '|' + key
        self.db_kvp_helper.write(db_key_name, value)

    def delete(self, section, key):
        db_key_name = section + '|' + key
        self.db_kvp_helper.delete(db_key_name)
Beispiel #2
0
class DBConfig(object):
    """
    A configuration class using database to persist.
    """

    #----------------------------------------------------------------------
    def __init__(self, db_path):
        """Constructor"""
        self.db_kvp_helper = DBKVPHelper('sqlite')
        self.connect(db_path)

    def connect(self, db_path):
        self.db_kvp_helper.connect(db_path)
        self.db_kvp_helper.use_table('config')

    def attach(self, db_conn):
        self.db_kvp_helper.attach(db_conn)
        self.db_kvp_helper.use_table('config')

    def get(self, section, key, default=None):
        db_key_name = section + '|' + key
        result = self.db_kvp_helper.read(db_key_name, default)
        if result:
            return result
        else:
            return default

    def getint(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return int(self.get(self, section, key, default))

    def getfloat(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return float(self.get(self, section, key, default))

    def getboolean(self, section, key, default=None):
        """To be compatible with FileConfig"""
        return bool(self.get(self, section, key, default))

    def set(self, section, key, value):
        db_key_name = section + '|' + key
        self.db_kvp_helper.write(db_key_name, value)

    def delete(self, section, key):
        db_key_name = section + '|' + key
        self.db_kvp_helper.delete(db_key_name)