import sqlite3,hashlib,json,os,sys
p=sys.argv[1]
c=sqlite3.connect('file:'+p+'?mode=ro&immutable=1',uri=True)
v=c.execute('pragma foreign_key_check').fetchall(); fp=hashlib.sha256(json.dumps([(x[0],x[1],x[2],x[3]) for x in v],sort_keys=True).encode()).hexdigest(); print(json.dumps({'path':p,'integrity':c.execute('pragma integrity_check').fetchone()[0],'fk':len(v),'fingerprint':fp,'size':os.path.getsize(p)})); c.close()