38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
## ThreadPoolExecutor
|
|
```py
|
|
__import__('concurrent').futures.ThreadPoolExecutor().submit(
|
|
lambda x: (print(x * 2) or x ** 2 / 0), 3).result()
|
|
```
|
|
|
|
## sqlite3
|
|
```py
|
|
def SQL():
|
|
def File(blob):
|
|
try: import zmq; File.sock.send_pyobj(blob); return File.sock.recv_pyobj()
|
|
except (AttributeError, zmq.Again):
|
|
(sock := zmq.Context().socket(zmq.REQ)).connect('tcp://localhost:6106')
|
|
sock.RCVTIMEO = 1000; File.sock = sock; return File(blob)
|
|
|
|
import sqlite3
|
|
(con := sqlite3.connect('.db', isolation_level=None)).row_factory = sqlite3.Row
|
|
con.executescript("""
|
|
PRAGMA journal_mode=WAL;
|
|
CREATE TABLE IF NOT EXISTS kv(k, v, t DEFAULT CURRENT_TIMESTAMP);
|
|
CREATE INDEX IF NOT EXISTS index_kv_v ON kv(v);
|
|
CREATE INDEX IF NOT EXISTS index_kv_k_t ON kv(k, t DESC);
|
|
""")
|
|
def setitem(sql, filename, blob):
|
|
assert isinstance(blob, bytes)
|
|
sql('INSERT INTO kv(k, v) VALUES(?,?)', filename, File(blob))
|
|
def getitem(sql, filename):
|
|
if sha1 := sql('SELECT v FROM kv WHERE k=? ORDER BY t DESC', filename):
|
|
return File(sha1[0]['v'])
|
|
def contains(sql, filename):
|
|
return bool(sql('SELECT 1 FROM kv WHERE k=?', filename))
|
|
def df(sql):
|
|
import pandas as pd
|
|
return pd.DataFrame(sql('SELECT * FROM kv'))
|
|
return type('', (), dict(__call__=lambda _, q, *p: list(map(dict, con.execute(q, p))),
|
|
__setitem__=setitem, __getitem__=getitem, __contains__=contains, df=df))()
|
|
sql = SQL()
|
|
``` |