(key: str, value: Optional[str], db_path: Optional[Path] = None)
| 219 | |
| 220 | |
| 221 | def set_setting(key: str, value: Optional[str], db_path: Optional[Path] = None) -> None: |
| 222 | path = init_db(db_path) |
| 223 | conn = sqlite3.connect(path) |
| 224 | try: |
| 225 | conn.execute( |
| 226 | """ |
| 227 | INSERT INTO settings (key, value, updated_at) |
| 228 | VALUES (?, ?, datetime('now')) |
| 229 | ON CONFLICT(key) DO UPDATE SET value=excluded.value, updated_at=datetime('now') |
| 230 | """, |
| 231 | (key, value), |
| 232 | ) |
| 233 | conn.commit() |
| 234 | finally: |
| 235 | conn.close() |