From: CMDR furrycat Date: Sat, 19 Nov 2016 17:16:14 +0000 (+0000) Subject: Query params can be replaced with a generator. X-Git-Url: http://git.furryclan.net/?a=commitdiff_plain;h=9940dd6eef4deb4aa5637cd2f76df8db6a0492cc;p=furrycat%2Fcatbot.git Query params can be replaced with a generator. --- diff --git a/db.py b/db.py index b7664ac..6f7eeef 100644 --- a/db.py +++ b/db.py @@ -4,6 +4,7 @@ import sqlite3 import re import time import uuid +from types import GeneratorType log = logging.getLogger('db') @@ -51,10 +52,14 @@ class DBConnection(object): def query(self, sql, params = ()): if self.dbh is None: self.open_db() - log.debug(sql.replace('?', '{}').format(*params)) cursor = self.dbh.cursor() try: - cursor.execute(sql, params) + if isinstance(params, GeneratorType): + log.debug(sql) + cursor.executemany(sql, params) + else: + log.debug(sql.replace('?', '{}').format(*params)) + cursor.execute(sql, params) return cursor except sqlite3.OperationalError: log.exception(sql)