Files

40 lines
955 B
Python

import sqlite3
import os
from contextlib import contextmanager
DB_PATH = os.environ.get("DB_PATH", "/data/memo.db")
SCHEMA = """
CREATE TABLE IF NOT EXISTS memos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT DEFAULT '',
reminder_time TEXT NOT NULL DEFAULT '09:00',
created_at TEXT DEFAULT (datetime('now', 'localtime')),
done_at TEXT,
is_done INTEGER DEFAULT 0
);
CREATE TABLE IF NOT EXISTS settings (
key TEXT PRIMARY KEY,
value TEXT NOT NULL DEFAULT ''
);
INSERT OR IGNORE INTO settings (key, value) VALUES ('discord_webhook', '');
INSERT OR IGNORE INTO settings (key, value) VALUES ('timezone', 'Europe/Paris');
"""
@contextmanager
def get_db():
conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row
try:
yield conn
conn.commit()
finally:
conn.close()
def init_db():
with get_db() as conn:
conn.executescript(SCHEMA)