From 56fe41c8060abf5005d413ff1157c53ff005e84b Mon Sep 17 00:00:00 2001 From: jay817 Date: Sat, 22 Feb 2025 19:00:01 +0000 Subject: [PATCH] Update README.md --- README.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 43b4501..e668021 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,26 @@ ## sqlite3 [25-02-23] ```py +from tqdm.auto import tqdm, trange; import json +Soup = lambda html: __import__('bs4').BeautifulSoup(html, 'lxml') +for i,c in enumerate('RGYB'):globals()[c]=lambda s,i=i:f'\x1b[{91+i}m{s}\x1b[0m' def SQL(db='.db'): import sqlite3, os, json; (not os.path.exists(db) and os.makedirs(db) is None, - (con := sqlite3.connect(f'{db}/sql', isolation_level=None)).execute( - "PRAGMA busy_timeout="f"{1e9}"))[0] and con.executescript( + (con := sqlite3.connect(f'{db}/sql', isolation_level=None)).execute( + "PRAGMA busy_timeout="f'{1e9}'))[0] and con.executescript( "PRAGMA journal_mode=WAL; CREATE TABLE kv(k,v,t DEFAULT CURRENT_TIMESTAMP);" "CREATE INDEX idx_kv_v ON kv(v); CREATE INDEX idx_kv_k_t ON kv(k,t DESC);") - return type('', (), dict(__call__=lambda _, q, *p: list(con.execute(q, p)), - __setitem__=lambda sql, k, v: sql('INSERT INTO kv(k,v) VALUES(?,?)', + return (sql := type('', (), dict(__call__=lambda _, q, *p: [*con.execute(q, p)], + __setitem__=lambda _, k, v: sql("INSERT INTO kv(k,v) VALUES(?,?)", k, v if type(v) is bytes else json.dumps(v)), - __getitem__=lambda sql, k: (json.loads(v) if type(v := v[0][0]) is str else v) if - (v := sql('SELECT v FROM kv WHERE k=? ORDER BY t DESC LIMIT 1', k)) else None, - __eq__=lambda sql, query: sql('SELECT * FROM kv WHERE k LIKE ?', query), - __ne__=lambda sql, query: sql('SELECT * FROM kv WHERE k NOT LIKE ?', query), - __delitem__=lambda sql, rows: [ - sql('DELETE FROM kv WHERE k=? AND v=? AND t=?', *row) for row in rows], - __contains__=lambda sql, k: bool(sql('SELECT 1 FROM kv WHERE k=?', k)), - __len__=lambda sql: sql('SELECT COUNT(*) FROM kv')[0][0], - __iter__=lambda sql: iter(k[0] for k in sql('SELECT k FROM kv')), - __repr__=lambda _: f"SQL({db}/sql)"))() + __getitem__=lambda _, k: (json.loads(v) if type(v := v[0][0]) is str else v) if + (v := sql("SELECT v FROM kv WHERE k=? ORDER BY t DESC LIMIT 1", k)) else None, + __eq__=lambda _, query: sql("SELECT * FROM kv WHERE k LIKE ?", query), + __ne__=lambda _, query: sql("SELECT * FROM kv WHERE k NOT LIKE ?", query), + __delitem__=lambda _, rows: [ + sql("DELETE FROM kv WHERE k=? AND v=? AND t=?", *row) for row in rows], + __contains__=lambda _, k: bool(sql("SELECT 1 FROM kv WHERE k=?", k)), + __len__=lambda _: sql("SELECT COUNT(*) FROM kv")[0][0], + __iter__=lambda _: iter(k[0] for k in sql("SELECT k FROM kv"))))()) sql = SQL() ```