first leet codes
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user