diff options
Diffstat (limited to 'cogs/utils')
| -rw-r--r-- | cogs/utils/settings.py | 28 |
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 |
