From d4fae1dd35bfcad6be55a742a30e0b60faf250f5 Mon Sep 17 00:00:00 2001 From: rembo10 Date: Mon, 13 Jan 2014 15:39:05 +0000 Subject: [PATCH] Removed database locking --- headphones/db.py | 58 ++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/headphones/db.py b/headphones/db.py index d0d39ca6..c0b9bba3 100644 --- a/headphones/db.py +++ b/headphones/db.py @@ -28,8 +28,6 @@ import headphones from headphones import logger -db_lock = threading.Lock() - def dbFilename(filename="headphones.db"): return os.path.join(headphones.DATA_DIR, filename) @@ -56,38 +54,36 @@ class DBConnection: self.connection.row_factory = sqlite3.Row def action(self, query, args=None): - - with db_lock: - if query == None: - return - - sqlResult = None - attempt = 0 + if query == None: + return - while attempt < 5: - try: - if args == None: - #logger.debug(self.filename+": "+query) - sqlResult = self.connection.execute(query) - else: - #logger.debug(self.filename+": "+query+" with args "+str(args)) - sqlResult = self.connection.execute(query, args) - self.connection.commit() - break - except sqlite3.OperationalError, e: - if "unable to open database file" in e.message or "database is locked" in e.message: - logger.warn('Database Error: %s' % e) - attempt += 1 - time.sleep(1) - else: - logger.error('Database error: %s' % e) - raise - except sqlite3.DatabaseError, e: - logger.error('Fatal Error executing %s :: %s' % (query, e)) + sqlResult = None + attempt = 0 + + while attempt < 5: + try: + if args == None: + #logger.debug(self.filename+": "+query) + sqlResult = self.connection.execute(query) + else: + #logger.debug(self.filename+": "+query+" with args "+str(args)) + sqlResult = self.connection.execute(query, args) + self.connection.commit() + break + except sqlite3.OperationalError, e: + if "unable to open database file" in e.message or "database is locked" in e.message: + logger.warn('Database Error: %s' % e) + attempt += 1 + time.sleep(1) + else: + logger.error('Database error: %s' % e) raise - - return sqlResult + except sqlite3.DatabaseError, e: + logger.error('Fatal Error executing %s :: %s' % (query, e)) + raise + + return sqlResult def select(self, query, args=None):