class SQLiteWrapper(object): def __init__(self, filename="stocks.db", logger=None): super(SQLiteWrapper, self).__init__() self._db_name = filename if logger is None: self._logger = LogSubsystem(self.__class__.__name__, 'debug').getLog() else: self._logger = logger self._logger.info( 'Running sqlite python wrapper - version {} / {}'.format( sql.version, sql.sqlite_version)) self._connection = sql.connect(self._db_name) self._connection.row_factory = sql.Row self._connection.text_factory = str self.cursor = self._connection.cursor() self._logger.info("Database connection to %s established." % self._db_name) self._n = 0 self.connected = True def execute(self, cmd, params=tuple()): ''' Execute the command cmd. '?'s in the command are replaced by the params tuple's content. ''' cmd = cmd.lower() self._n += 1 n = self._n many = False res = [] try: if type(params[0]) is type(list()): self._logger.debug('Executing several queries at a time') many = True except: many = False start = time.time() try: if (many): self.cursor.executemany(cmd, params) else: self.cursor.execute(cmd, params) #FIXME where word is used in 'fetchone commands'(see isTableExists), matter ? if cmd.find('where') < 0: res = self.cursor.fetchall() #if len(res) == 1: #res = res[0] else: res = self.cursor.fetchone() #NOTE Relevant ? #if len(res) == 1: #res = res[0] except sql.Error, e: self._logger.error("Database error: '%s'." % e.args[0]) dur = time.time() - start self._logger.debug("Database query %s executed in %s seconds." % (n, dur)) return res
class SQLiteWrapper(object): def __init__(self, filename="stocks.db", logger=None): super(SQLiteWrapper, self).__init__() self._db_name = filename if logger is None: self._logger = LogSubsystem(self.__class__.__name__, 'debug').getLog() else: self._logger = logger self._logger.info('Running sqlite python wrapper - version {} / {}'.format(sql.version, sql.sqlite_version)) self._connection = sql.connect(self._db_name) self._connection.row_factory = sql.Row self._connection.text_factory = str self.cursor = self._connection.cursor() self._logger.info("Database connection to %s established." % self._db_name) self._n = 0 self.connected = True def execute(self, cmd, params=tuple()): ''' Execute the command cmd. '?'s in the command are replaced by the params tuple's content. ''' cmd = cmd.lower() self._n += 1 n = self._n many = False res = [] try: if type(params[0]) is type(list()): self._logger.debug('Executing several queries at a time') many = True except: many = False start = time.time() try: if (many): self.cursor.executemany(cmd, params) else: self.cursor.execute(cmd, params) #FIXME where word is used in 'fetchone commands'(see isTableExists), matter ? if cmd.find('where') < 0: res = self.cursor.fetchall() #if len(res) == 1: #res = res[0] else: res = self.cursor.fetchone() #NOTE Relevant ? #if len(res) == 1: #res = res[0] except sql.Error, e: self._logger.error("Database error: '%s'." % e.args[0]) dur = time.time() - start self._logger.debug("Database query %s executed in %s seconds." % (n, dur)) return res
def __init__(self, filename="stocks.db", logger=None): super(SQLiteWrapper, self).__init__() self._db_name = filename if logger is None: self._logger = LogSubsystem(self.__class__.__name__, 'debug').getLog() else: self._logger = logger self._logger.info( 'Running sqlite python wrapper - version {} / {}'.format( sql.version, sql.sqlite_version)) self._connection = sql.connect(self._db_name) self._connection.row_factory = sql.Row self._connection.text_factory = str self.cursor = self._connection.cursor() self._logger.info("Database connection to %s established." % self._db_name) self._n = 0 self.connected = True
def __init__(self, filename="stocks.db", logger=None): super(SQLiteWrapper, self).__init__() self._db_name = filename if logger is None: self._logger = LogSubsystem(self.__class__.__name__, 'debug').getLog() else: self._logger = logger self._logger.info('Running sqlite python wrapper - version {} / {}'.format(sql.version, sql.sqlite_version)) self._connection = sql.connect(self._db_name) self._connection.row_factory = sql.Row self._connection.text_factory = str self.cursor = self._connection.cursor() self._logger.info("Database connection to %s established." % self._db_name) self._n = 0 self.connected = True