aboutsummaryrefslogtreecommitdiffstats
path: root/cogs/utils/settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'cogs/utils/settings.py')
-rw-r--r--cogs/utils/settings.py28
1 files changed, 13 insertions, 15 deletions
diff --git a/cogs/utils/settings.py b/cogs/utils/settings.py
index 7146b6c..b1a585c 100644
--- a/cogs/utils/settings.py
+++ b/cogs/utils/settings.py
@@ -30,11 +30,10 @@ class Settings:
30 } 30 }
31 31
32 try: 32 try:
33 conn = get_connection() 33 with get_connection() as conn:
34 c = conn.cursor() 34 c = conn.cursor()
35 c.execute("SELECT key, value FROM settings") 35 c.execute("SELECT key, value FROM settings")
36 rows = c.fetchall() 36 rows = c.fetchall()
37 conn.close()
38 37
39 if rows: 38 if rows:
40 self._data = {row[0]: row[1] for row in rows} 39 self._data = {row[0]: row[1] for row in rows}
@@ -65,16 +64,15 @@ class Settings:
65 64
66 async def save(self): 65 async def save(self):
67 self._sync_to_data() 66 self._sync_to_data()
68 conn = get_connection() 67 with get_connection() as conn:
69 c = conn.cursor() 68 c = conn.cursor()
70 c.execute("PRAGMA foreign_keys = ON") 69 c.execute("PRAGMA foreign_keys = ON")
71 for key, value in self._data.items(): 70 for key, value in self._data.items():
72 c.execute( 71 c.execute(
73 "INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)", 72 "INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)",
74 (key, value), 73 (key, value),
75 ) 74 )
76 conn.commit() 75 conn.commit()
77 conn.close()
78 76
79 77
80_settings_instance: Settings | None = None 78_settings_instance: Settings | None = None