first leet codes

This commit is contained in:
Andrej Karpathy
2021-11-12 20:40:19 -08:00
parent 089adab199
commit 194b7f4b22
12 changed files with 820 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
"""
Database support functions
"""
import sqlite3, zlib, pickle
from sqlitedict import SqliteDict
# -----------------------------------------------------------------------------
class CompressedSqliteDict(SqliteDict):
""" overrides the encode/decode methods to use zlib, so we get compressed storage """
def __init__(self, *args, **kwargs):
def encode(obj):
return sqlite3.Binary(zlib.compress(pickle.dumps(obj, pickle.HIGHEST_PROTOCOL)))
def decode(obj):
return pickle.loads(zlib.decompress(bytes(obj)))
super().__init__(*args, **kwargs, encode=encode, decode=decode)