|
def | __init__ (self, config_dic) |
|
def | checkTables (self) |
|
def | getErrorCode (self) |
|
def | getErrorMsg (self) |
|
def | insert (self, tasks) |
|
def | fetch (self, obj, clause) |
|
def | sql (self, obj, clause) |
|
def | fetchAll (self, tasks) |
|
def | update (self, obj, clause) |
|
def | insertOnUpdate (self, tasks, clause) |
|
def | delete (self, obj, clause) |
|
def | deleteAll (self, tasks) |
|
def | sqlCustom (self, clause) |
|
Definition at line 37 of file dbi.py.
◆ __init__()
def dbi.dbi.DBI.__init__ |
( |
|
self, |
|
|
|
config_dic |
|
) |
| |
Definition at line 47 of file dbi.py.
49 engineString =
"mysql+mysqldb://%s:%s@%s" 50 engineString = engineString % (config_dic[
"db_user"], config_dic[
"db_pass"], config_dic[
"db_host"])
51 if "db_port" in config_dic:
52 engineString +=
':' + str(config_dic[
"db_port"])
53 engineString +=
'/' + config_dic[
"db_name"]
56 self.engine = create_engine(engineString)
58 Session = sessionmaker(bind=self.engine)
59 self.session = Session()
61 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
62 self.errorMessage = CONSTANTS.DBI_SUCCESS_MSG
def __init__(self)
constructor
◆ checkTables()
def dbi.dbi.DBI.checkTables |
( |
|
self | ) |
|
Definition at line 68 of file dbi.py.
68 def checkTables(self):
70 insp = reflection.Inspector.from_engine(self.engine)
71 avlTables = insp.get_table_names()
72 for dbTable
in self.MANDATORY_DBS:
73 if dbTable
not in avlTables:
74 raise Exception(
">>> %s table not present in database" % dbTable)
75 except Exception
as err:
76 self.errorCode = CONSTANTS.DBI_COMMON_ERROR_CODE
77 self.errorMessage = CONSTANTS.DBI_COMMON_ERROR_MSG +
": " + err.message
78 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ delete()
def dbi.dbi.DBI.delete |
( |
|
self, |
|
|
|
obj, |
|
|
|
clause |
|
) |
| |
Definition at line 367 of file dbi.py.
367 def delete(self, obj, clause):
369 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
372 deleted_task = self.session.
query(
type(obj)).filter(
text(clause)).first()
374 deleted.append(deleted_task)
375 self.session.delete(deleted_task)
376 self.session.commit()
379 except sqlalchemy.exc.SQLAlchemyError
as err:
380 self.session.rollback()
381 self.errorCode = CONSTANTS.DBI_DELETE_ERROR_CODE
382 self.errorMessage = CONSTANTS.DBI_DELETE_ERROR_MSG +
": " + str(err)
383 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
384 except Exception
as err:
385 self.errorCode = CONSTANTS.DBI_DELETE_ERROR_CODE
386 self.errorMessage = CONSTANTS.DBI_DELETE_ERROR_MSG +
": " + str(err)
387 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ deleteAll()
def dbi.dbi.DBI.deleteAll |
( |
|
self, |
|
|
|
tasks |
|
) |
| |
Definition at line 435 of file dbi.py.
435 def deleteAll(self, tasks):
438 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
441 connection = self.engine.connect()
444 if isinstance(tasks, collections.Iterable):
447 taskList.append(tasks)
451 for task
in taskList:
453 connection.execute(
type(task).delete())
454 except sqlalchemy.exc.SQLAlchemyError, err:
455 self.session.rollback()
456 self.errorMessage = CONSTANTS.DBI_DELETE_ERROR_MSG +
": " + str(err)
458 except Exception, err:
459 self.errorMessage = CONSTANTS.DBI_DELETE_ERROR_MSG +
": " + str(err)
463 self.errorCode = CONSTANTS.DBI_DELETE_ERROR_CODE
464 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
469 raise DBIErr(CONSTANTS.DBI_DELETE_ERROR_CODE, str(e))
471 if connection
is not None:
◆ fetch()
def dbi.dbi.DBI.fetch |
( |
|
self, |
|
|
|
obj, |
|
|
|
clause |
|
) |
| |
Definition at line 148 of file dbi.py.
148 def fetch(self, obj, clause):
150 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
153 rows = self.session.
query(
type(obj)).filter(
text(clause)).all()
158 except sqlalchemy.exc.SQLAlchemyError
as err:
159 self.session.rollback()
160 self.errorCode = CONSTANTS.DBI_FETCH_ERROR_CODE
161 self.errorMessage = CONSTANTS.DBI_FETCH_ERROR_MSG +
": " + str(err)
162 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
163 except Exception
as err:
164 self.errorCode = CONSTANTS.DBI_FETCH_ERROR_CODE
165 self.errorMessage = CONSTANTS.DBI_FETCH_ERROR_MSG +
": " + str(err)
166 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ fetchAll()
def dbi.dbi.DBI.fetchAll |
( |
|
self, |
|
|
|
tasks |
|
) |
| |
Definition at line 242 of file dbi.py.
242 def fetchAll(self, tasks):
246 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
250 connection = self.engine.connect()
253 if isinstance(tasks, collections.Iterable):
256 taskList.append(tasks)
260 for task
in taskList:
262 fetched.append(connection.execute(select([
type(task)])).fetchall())
263 except sqlalchemy.exc.SQLAlchemyError, err:
264 self.session.rollback()
265 self.errorMessage = CONSTANTS.DBI_FETCH_ERROR_MSG +
": " + str(err)
267 except Exception, err:
268 self.errorMessage = CONSTANTS.DBI_FETCH_ERROR_MSG +
": " + str(err)
272 self.errorCode = CONSTANTS.DBI_FETCH_ERROR_CODE
273 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
278 raise DBIErr(CONSTANTS.DBI_FETCH_ERROR_CODE, str(e))
280 if connection
is not None:
◆ getErrorCode()
def dbi.dbi.DBI.getErrorCode |
( |
|
self | ) |
|
Definition at line 86 of file dbi.py.
86 def getErrorCode(self):
◆ getErrorMsg()
def dbi.dbi.DBI.getErrorMsg |
( |
|
self | ) |
|
Definition at line 95 of file dbi.py.
95 def getErrorMsg(self):
96 return self.errorMessage
◆ insert()
def dbi.dbi.DBI.insert |
( |
|
self, |
|
|
|
tasks |
|
) |
| |
Definition at line 106 of file dbi.py.
106 def insert(self, tasks):
108 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
111 if isinstance(tasks, collections.Iterable):
114 taskList.append(tasks)
119 for task
in taskList:
121 self.session.add(task)
122 self.session.commit()
123 except sqlalchemy.exc.SQLAlchemyError, err:
124 logger.info(
"tasks: %s, type: %s", str(tasks), str(
type(tasks)))
125 self.errorMessage = CONSTANTS.DBI_INSERT_ERROR_MSG +
": " + str(err)
126 self.session.rollback()
128 except Exception, err:
129 logger.info(
"tasks: %s, type: %s", str(tasks), str(
type(tasks)))
130 self.errorMessage = CONSTANTS.DBI_INSERT_ERROR_MSG +
": " + str(err)
134 self.errorCode = CONSTANTS.DBI_INSERT_ERROR_CODE
135 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ insertOnUpdate()
def dbi.dbi.DBI.insertOnUpdate |
( |
|
self, |
|
|
|
tasks, |
|
|
|
clause |
|
) |
| |
Definition at line 330 of file dbi.py.
330 def insertOnUpdate(self, tasks, clause):
332 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
336 if isinstance(tasks, collections.Iterable):
339 taskList.append(tasks)
341 for task
in taskList:
342 self.session.merge(task)
344 self.session.commit()
347 except sqlalchemy.exc.SQLAlchemyError
as err:
348 self.session.rollback()
349 self.errorCode = CONSTANTS.DBI_INSERT_ERROR_CODE
350 self.errorMessage = CONSTANTS.DBI_INSERT_ERROR_MSG +
": " + str(err)
351 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
352 except Exception
as err:
353 self.errorCode = CONSTANTS.DBI_INSERT_ERROR_CODE
354 self.errorMessage = CONSTANTS.DBI_INSERT_ERROR_MSG +
": " + str(err)
355 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ makeQueryFromObj()
def dbi.dbi.DBI.makeQueryFromObj |
( |
|
obj, |
|
|
|
engine, |
|
|
|
session |
|
) |
| |
|
static |
Definition at line 515 of file dbi.py.
515 def makeQueryFromObj(obj, engine, session):
518 insp = reflection.Inspector.from_engine(engine)
519 localColumns = insp.get_columns(obj.__tablename__)
520 for columName
in [elem[
"name"]
for elem
in localColumns]:
521 if columName
in obj.__dict__:
522 criterions[columName] = obj.__dict__[columName]
523 if len(criterions) > 0:
524 ret = session.query(
type(obj)).filter_by(**criterions)
◆ sql()
def dbi.dbi.DBI.sql |
( |
|
self, |
|
|
|
obj, |
|
|
|
clause |
|
) |
| |
Definition at line 179 of file dbi.py.
179 def sql(self, obj, clause):
181 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
184 rows = self.session.
query(
type(obj)).from_statement(
text(clause)).all()
189 except sqlalchemy.exc.SQLAlchemyError
as err:
190 self.session.rollback()
191 self.errorCode = CONSTANTS.DBI_SQL_ERROR_CODE
192 self.errorMessage = CONSTANTS.DBI_SQL_ERROR_MSG +
": " + str(err) +
", clause:\n" + str(clause)
193 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
194 except Exception
as err:
195 self.errorCode = CONSTANTS.DBI_SQL_ERROR_CODE
196 self.errorMessage = CONSTANTS.DBI_SQL_ERROR_MSG +
": " + str(err) +
", clause:\n" + str(clause)
197 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ sqlCustom()
def dbi.dbi.DBI.sqlCustom |
( |
|
self, |
|
|
|
clause |
|
) |
| |
Definition at line 482 of file dbi.py.
482 def sqlCustom(self, clause):
484 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
487 sqlText =
text(clause)
488 result = self.session.
execute(sqlText)
489 if result
is not None:
490 customResponse = result.fetchall()
491 self.session.commit()
494 except sqlalchemy.exc.SQLAlchemyError
as err:
495 self.session.rollback()
496 self.errorCode = CONSTANTS.DBI_SQL_ERROR_CODE
497 self.errorMessage = CONSTANTS.DBI_SQL_ERROR_MSG +
": " + err.message
498 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
499 except Exception
as err:
500 self.errorCode = CONSTANTS.DBI_SQL_ERROR_CODE
501 self.errorMessage = CONSTANTS.DBI_SQL_ERROR_MSG +
": " + err.message
502 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
504 return customResponse
def execute(self, commands, nodes)
execute method execute incoming commands on nodes, keepts reult in responses and responsesDicts field...
◆ update()
def dbi.dbi.DBI.update |
( |
|
self, |
|
|
|
obj, |
|
|
|
clause |
|
) |
| |
Definition at line 294 of file dbi.py.
294 def update(self, obj, clause):
296 self.errorCode = CONSTANTS.DBI_SUCCESS_CODE
299 updated_task = self.session.
query(
type(obj)).filter(
text(clause)).first()
301 attributes = [attr
for attr
in dir(obj)
if not attr.startswith(
'__') \
302 and not attr.startswith(
'_')
and getattr(obj, attr)
is not None]
304 for attr
in attributes:
305 setattr(updated_task, attr, getattr(obj, attr))
306 updated.append(updated_task)
307 self.session.commit()
310 except sqlalchemy.exc.SQLAlchemyError
as err:
311 self.session.rollback()
312 self.errorCode = CONSTANTS.DBI_UPDATE_ERROR_CODE
313 self.errorMessage = CONSTANTS.DBI_UPDATE_ERROR_MSG +
": " + str(err)
314 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
315 except Exception
as err:
316 self.errorCode = CONSTANTS.DBI_UPDATE_ERROR_CODE
317 self.errorMessage = CONSTANTS.DBI_UPDATE_ERROR_MSG +
": " + str(err)
318 raise DBIErr(self.getErrorCode(), self.getErrorMsg())
◆ engine
◆ errorCode
◆ errorMessage
◆ MANDATORY_DBS
list dbi.dbi.DBI.MANDATORY_DBS |
|
static |
Initial value:= ["ee_responses_table", "resources_table", "scheduler_task_scheme", "task_back_log_scheme",
"task_log_scheme", "tasks_data_table"]
Definition at line 39 of file dbi.py.
◆ session
The documentation for this class was generated from the following file: