def _exec_cmd(self, curs, sql, args, quiet=False): """Internal tool: Run SQL on cursor.""" self.log.debug("exec_cmd: %s" % quote_statement(sql, args)) curs.execute(sql, args) ok = True rows = curs.fetchall() for row in rows: try: code = row['ret_code'] msg = row['ret_note'] except KeyError: self.log.error("Query does not conform to exec_cmd API:") self.log.error("SQL: %s" % quote_statement(sql, args)) self.log.error("Row: %s" % repr(row.copy())) sys.exit(1) level = code / 100 if level == 1: self.log.debug("%d %s" % (code, msg)) elif level == 2: if quiet: self.log.debug("%d %s" % (code, msg)) else: self.log.info("%s" % (msg, )) elif level == 3: self.log.warning("%s" % (msg, )) else: self.log.error("%s" % (msg, )) self.log.debug("Query was: %s" % quote_statement(sql, args)) ok = False return (ok, rows)
def _exec_cmd(self, curs, sql, args, quiet = False): """Internal tool: Run SQL on cursor.""" self.log.debug("exec_cmd: %s" % quote_statement(sql, args)) curs.execute(sql, args) ok = True rows = curs.fetchall() for row in rows: try: code = row['ret_code'] msg = row['ret_note'] except KeyError: self.log.error("Query does not conform to exec_cmd API:") self.log.error("SQL: %s" % quote_statement(sql, args)) self.log.error("Row: %s" % repr(row.copy())) sys.exit(1) level = code / 100 if level == 1: self.log.debug("%d %s" % (code, msg)) elif level == 2: if quiet: self.log.debug("%d %s" % (code, msg)) else: self.log.info("%s" % (msg,)) elif level == 3: self.log.warning("%s" % (msg,)) else: self.log.error("%s" % (msg,)) self.log.error("Query was: %s" % quote_statement(sql, args)) ok = False return (ok, rows)
def display_table(self, db, desc, sql, args=[], fields=[]): """Display multirow query as a table.""" self.log.debug("display_table: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) rows = curs.fetchall() db.commit() if len(rows) == 0: return 0 if not fields: fields = [f[0] for f in curs.description] widths = [15] * len(fields) for row in rows: for i, k in enumerate(fields): rlen = row[k] and len(str(row[k])) or 0 widths[i] = widths[i] > rlen and widths[i] or rlen widths = [w + 2 for w in widths] fmt = '%%-%ds' * (len(widths) - 1) + '%%s' fmt = fmt % tuple(widths[:-1]) if desc: print(desc) print(fmt % tuple(fields)) print(fmt % tuple(['-' * (w - 2) for w in widths])) #print(fmt % tuple(['-'*15] * len(fields))) for row in rows: print(fmt % tuple([row[k] for k in fields])) print('\n') return 1
def display_table(self, db, desc, sql, args = [], fields = []): """Display multirow query as a table.""" self.log.debug("display_table: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) rows = curs.fetchall() db.commit() if len(rows) == 0: return 0 if not fields: fields = [f[0] for f in curs.description] widths = [15] * len(fields) for row in rows: for i, k in enumerate(fields): rlen = row[k] and len(str(row[k])) or 0 widths[i] = widths[i] > rlen and widths[i] or rlen widths = [w + 2 for w in widths] fmt = '%%-%ds' * (len(widths) - 1) + '%%s' fmt = fmt % tuple(widths[:-1]) if desc: print(desc) print(fmt % tuple(fields)) print(fmt % tuple([ '-' * (w - 2) for w in widths ])) #print(fmt % tuple(['-'*15] * len(fields))) for row in rows: print(fmt % tuple([row[k] for k in fields])) print('\n') return 1
def exec_query(self, db, sql, args): self.log.debug("exec_query: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) res = curs.fetchall() db.commit() return res
def exec_query(self, db, sql, args): """Run regular query SQL on db.""" self.log.debug("exec_query: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) res = curs.fetchall() db.commit() return res
def exec_stmt(self, db, sql, args): """Run regular non-query SQL on db.""" self.log.debug("exec_stmt: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) db.commit()
def exec_stmt(self, db, sql, args): self.log.debug("exec_stmt: %s" % quote_statement(sql, args)) curs = db.cursor() curs.execute(sql, args) db.commit()