From 60b34883d6d7b2b52215768c5a9e86b3c3fea5d2 Mon Sep 17 00:00:00 2001 From: jay817 Date: Fri, 23 Aug 2024 08:03:12 -0400 Subject: [PATCH] Update sqlite3/README.md --- sqlite3/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sqlite3/README.md b/sqlite3/README.md index 5425226..ae0e6bb 100644 --- a/sqlite3/README.md +++ b/sqlite3/README.md @@ -13,8 +13,7 @@ class DB(sqlite3.Connection): ''') def __setitem__(self, key, value): - if not isinstance(value, bytes): - value = json.dumps(value) + if not isinstance(value, bytes): value = json.dumps(value) with self: cur = self.execute(''' INSERT OR REPLACE INTO kv_store @@ -31,28 +30,29 @@ class DB(sqlite3.Connection): if result: if isinstance(result[0], str): try: return json.loads(result[0]) - except: pass + except json.JSONDecodeError: pass return result[0] def delete(self, key): with self: cur = self.execute(''' - DELETE FROM kv_store WHERE key = ? + DELETE FROM kv_store + WHERE key = ? ''', (key,)) return {"deleted_count": cur.rowcount} - def keys(self, pattern='*'): pattern = pattern.translate(str.maketrans({ '\\': '\\\\', '%': '\\%', '_': '\\_', '*': '%', '?': '_' })) - with self: - cur = self.execute(''' + result = self.execute(''' SELECT key FROM kv_store WHERE key LIKE ? ESCAPE '\\' - ''', (pattern,)) - return [row[0] for row in cur.fetchall()] + ''', (pattern,)).fetchall() + return [row[0] for row in result] + + def __repr__(self): return repr(self.keys()) ``` # Usage ```python