import sqlite3 import time COMMIT_TIME=2 # s class DB: def __init__(self,filename): self.filename=filename self.connection=sqlite3.connect(self.filename) self.connection.row_factory=sqlite3.Row self.commitTime=time.time() def setup(self): # !! err if exists self.connection.execute("""create table `hashes` ( `sector_id` integer primary key, `sector_hash` blob not null, `updated` integer )""") self.connection.commit() ## Inserts hash into the DB. # # @param sectorHash bytes object containing the hash def insertHash(self,sectorId,sectorHash): # !! if not connection res=self.connection.execute("""insert or replace into `hashes` (`sector_id`, `sector_hash`, `updated`) values (?, ?, strftime('%s','now'))""", (sectorId,sectorHash)) t=time.time() if t-self.commitTime > COMMIT_TIME: self.connection.commit() self.commitTime=t return res def listHashes(self): # !! if not connection return self.connection.execute("""select * from `hashes` order by `sector_id` asc""")