Update jimm.py

This commit is contained in:
2024-11-25 20:28:33 -05:00
parent 3ff43b5b7a
commit e98b7a063f

View File

@@ -22,17 +22,17 @@ def SQL():
con.execute('PRAGMA journal_mode=wal')
con.execute('PRAGMA busy_timeout='f'{1e9}')
con.execute('CREATE TABLE IF NOT EXISTS kv(k, v, t DEFAULT CURRENT_TIMESTAMP)')
os.makedirs('.blob', exist_ok=True)
os.makedirs('.db-blob', exist_ok=True)
def put(sql, filename, blob):
sha1 = hashlib.sha1(blob).hexdigest()
if not sql('SELECT 1 FROM kv WHERE v=?', sha1):
try:
with open(f'.blob/{sha1}', 'xb') as f: f.write(blob)
with open(f'.db-blob/{sha1}', 'xb') as f: f.write(blob)
print(f'{G(len(blob)):>16} {filename}')
except FileExistsError: pass
sql[filename] = sha1
def get(sql, filename):
return open(f'.blob/{sql[filename]}', 'rb').read()
return open(f'.db-blob/{sql[filename]}', 'rb').read()
return type('', (), dict(put=put, get=get,
__call__=lambda _, q, *p: list(map(dict, con.execute(q, p))),