From 7443e332709ea5d48cd11c9ddb30c3234a037c44 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 17 May 2014 11:24:17 +0200 Subject: [PATCH] no shared connection --- oml/item/covers.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/oml/item/covers.py b/oml/item/covers.py index e931651..cf6232f 100644 --- a/oml/item/covers.py +++ b/oml/item/covers.py @@ -11,13 +11,15 @@ from settings import covers_db_path class Covers(dict): def __init__(self, db): self._db = db - - def connect(self): - self.conn = sqlite3.connect(self._db, timeout=10) self.create() + def connect(self): + conn = sqlite3.connect(self._db, timeout=10) + return conn + def create(self): - c = self.conn.cursor() + conn = self.connect() + c = conn.cursor() c.execute(u'CREATE TABLE IF NOT EXISTS cover (id varchar(64) unique, data blob)') c.execute(u'CREATE TABLE IF NOT EXISTS setting (key varchar(256) unique, value text)') if int(self.get_setting(c, 'version', 0)) < 1: @@ -42,34 +44,34 @@ class Covers(dict): def __getitem__(self, id, default=None): sql = u'SELECT data FROM cover WHERE id=?' - self.connect() - c = self.conn.cursor() + conn = self.connect() + c = conn.cursor() c.execute(sql, (id, )) data = default for row in c: data = row[0] break c.close() - self.conn.close() + conn.close() return data def __setitem__(self, id, data): sql = u'INSERT OR REPLACE INTO cover values (?, ?)' - self.connect() - c = self.conn.cursor() + conn = self.connect() + c = conn.cursor() data = sqlite3.Binary(data) c.execute(sql, (id, data)) - self.conn.commit() + conn.commit() c.close() - self.conn.close() + conn.close() def __delitem__(self, id): sql = u'DELETE FROM cover WHERE id = ?' - self.connect() - c = self.conn.cursor() + conn = self.connect() + c = conn.cursor() c.execute(sql, (id, )) - self.conn.commit() + conn.commit() c.close() - self.conn.close() + conn.close() covers = Covers(covers_db_path)