import sqlite3
import logging
logger = logging.getLogger(__name__)

'''

'''

def newdb(name):
    '''
    create a brand new database
    >>> c = newdb(':memory:')
    '''
    assert isinstance(name,str)
    conn = sqlite3.connect(name)
    sql = open('common.sql').read()
    conn.executescript(sql)
    conn.commit()
    return conn

def getConstant(conn,name):
    '''
    >>> conn = newdb(':memory:')
    >>> getConstant(conn,'common.sql')
    [1]
    '''
    assert isinstance(name,str)
    cursor = conn.cursor()
    sql = 'SELECT val FROM constant WHERE name=\'%s\'' % name
    logger.debug(sql)
    valLst = [val for (val,) in cursor.execute(sql)]
    return valLst

def setConstant(conn,name,val):
    '''
    >>> conn = newdb(':memory:')
    >>> setConstant(conn,'un',1)
    '''
    assert isinstance(name,str)
    assert isinstance(val,int)
    cursor = conn.cursor()
    sql = 'INSERT INTO constant(name,val) VALUES(\'%s\',%i)' % (name,val)
    logger.debug(sql)
    cursor.execute(sql)
    conn.commit()

if __name__ == '__main__':
    import doctest
    logging.basicConfig(filename='common.log',level=logging.DEBUG)
    doctest.testmod()
