Exemple #1
0
def sql_db_connect():
    """Connection to DB
    """
    try:
        uri_params = config.get_sql_db_uri_params()
        # TODO args* style argument
        SQLDatabase.connect(uri_params[0], uri_params[1], uri_params[2],
                            uri_params[3], uri_params[4], uri_params[5],
                            debug=config.sql_debug_enabled())
    except Exception as e:
        log.exception(e)
        msg = "SQL: can't connect"
        raise IrmaDatabaseError(msg)
Exemple #2
0
if not os.path.exists(dirname):
    print("SQL directory does not exist {0}" "..creating".format(dirname))
    os.makedirs(dirname)
    os.chmod(dirname, 0o777)
elif not (os.path.isdir(dirname)):
    print("Error. SQL directory is a not a dir {0}" "".format(dirname))
    raise IrmaDatabaseError("Can not create Brain database dir")

if not os.path.exists(db_name):
    # touch like method to create a rw-rw-rw- file for db
    open(db_name, 'a').close()
    os.chmod(db_name, 0o666)

# Retrieve database informations
url = config.get_sql_url()
engine = create_engine(url, echo=config.sql_debug_enabled())
# and create Database in case
Base.metadata.create_all(engine)

with session_transaction() as session:
    try:
        user = User.get_by_rmqvhost(session, rmqvhost=rmqvhost)
        print("rmqvhost {0} is already assigned to user {1}. "
              "Updating with new parameters.".format(user.name, user.rmqvhost))
        user = user.load(user.id, session)
        user.name = name
        user.ftpuser = ftpuser
        user.update(['name', 'ftpuser'], session)
    except IrmaDatabaseResultNotFound:
        user = User(name=name, rmqvhost=rmqvhost, ftpuser=ftpuser)
        user.save(session)
Exemple #3
0
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

from irma.common.utils import sql
import config.parser as config


engine = create_engine(config.sqldb.url, echo=config.sql_debug_enabled())
session = scoped_session(sessionmaker(autocommit=False, autoflush=False,
                                      bind=engine))


def session_transaction():
    return sql.transaction(session)


def session_query():
    return sql.query(session)