#!/usr/bin/python import permdb import base64 import sys class PermDB: def __init__(self, path, write_enabled=True): self.permdbobj = permdb.alloc(path, write_enabled) def get(self, key): return permdb.getvalue(self.permdbobj, key) def add(self, key, value): return permdb.addvalue(self.permdbobj, key, value) def commit(self): permdb.committree(self.permdbobj) import os try: os.remove("testreplaydb") except OSError: pass try: os.remove("testreplaydb.idx") except OSError: pass db = PermDB("testreplaydb") for line in open(sys.argv[1]): line = line.rstrip() if line == "commit": db.commit() continue k_v_line = line.split(" ") assert len(k_v_line) == 2 key = base64.b16decode(k_v_line[0]) valuelen = int(k_v_line[1]) value = valuelen * "\0" db.add(key, value)