Deps updates, handle more tables + LK code

This commit is contained in:
Marcus Lindvall 2021-12-30 12:40:50 +01:00
parent f649b5f953
commit 5fe140714e
14 changed files with 583 additions and 79 deletions

View file

@ -57,7 +57,9 @@ class DBConnector(object):
def __init__(self, enabled_clients=['raw'], metadata=None):
logger.info("Creating engines and sessionmakers")
self.raw, self.raw_engine = (self.raw_session() if 'raw' in enabled_clients else {})
self.enabled_clients = enabled_clients
self.raw_db, self.raw_session, self.raw_engine = (
self.raw_client() if 'raw' in enabled_clients else {})
self.meta = (self.meta_session() if 'meta' in enabled_clients else {})
def callproc(self, procedure="", params=[]):
@ -90,14 +92,22 @@ class DBConnector(object):
conn.close()
return results
def raw_session(self):
def raw_client(self):
if 'raw' not in self.enabled_clients:
logger.error('Raw client is not enabled')
logger.info("Using DB %s" % config.config['databases']['raw']['db'])
uri = 'mssql+pymssql://{user}:{pw}@{host}:{port}/{db}?charset=utf8'.format(
**config.config['databases']['raw'])
sql_client_config = {'SQL_DATABASE_URI': uri}
db = SQLClient(sql_client_config, query_class=BaseFilterQuery)
return db.session, db.engine
return db, db.session, db.engine
def set_model_class(self, model_class):
self.raw_db.model_class = model_class
self.raw_db.update_models_registry()
def meta_session(self):