WIP: fingerprint index

This commit is contained in:
JohnE 2015-11-30 10:35:38 -08:00
parent ea26abc58c
commit 2c1a131c30
2 changed files with 23 additions and 4 deletions

10
dbfp.py
View File

@ -93,6 +93,11 @@ def __createFingerprint(dir_name):
db.writeFingerprint(fh)
fh.close()
#
def __getFileName():
'''standardize on a file name, use timestamp? '''
pass
#
def mkdir(fdir):
retval = False
@ -110,8 +115,9 @@ def parseArgs():
print '***** ***** ***** *****\n'
parser = argparse.ArgumentParser(description="Fingerprint a sqlite database based on its schema")
parser.add_argument('-f', '--file', required=False, help="path to file to be fingerprinted")
parser.add_argument('-fd', '--fpdir', required=False, help="path to dirctory of fingerprint files")
parser.add_argument('-fd', '--fpdir', required=False, help="path to directory of fingerprint files")
parser.add_argument('-fp', '--fingerprint', required=False, help="fingerprint file to use in comparison")
parser.add_argument('-dd', '--data_dir', required=False, help="path to a directory with sqlite files")
parser.add_argument('-an', '--app_name', required=False)
parser.add_argument('-av', '--app_version', required=False)
parser.add_argument('-n', '--notes', required=False)
@ -124,6 +130,8 @@ def parseArgs():
compareFingerprint(args.file, args.fingerprint)
elif (args.file and args.fpdir):
compareFingerprintDir(args.file, args.fpdir)
elif (args.data_dir):
pass
elif (args.pull):
fingerprintDir()
elif (args.file):

View File

@ -67,14 +67,25 @@ class FingerprintIndex:
files = os.listdir(fpdir)
for file in Files:
try:
db.scanDBFile(fpdir)
fq_file = fpdir + os.path.sep + file
dbht = db.importJsonIndex(fq_file)
md5_all = __createMD5Index(dbht)
finCount = finCount+1
except:
failCount = failCount+1
except:
logging.info("Completed populating the index. Completed: {} Failed: {} ".format(str(finCount), str(failCount)))
logging.info("Completed populating the index. Completed: {} Failed: {} ".format(str(finCount), str(failCount)))
pass
#
def __insertRecord(self, md5_all, md5_list, filename):
try:
self.db_conn.execute(
'''
INSERT INTO md5_index VALUES(?, ?, ?)
''', md5_all, md5_list, filename)
except:
pass
#
def __checkIntegrity(self):