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) db.writeFingerprint(fh)
fh.close() fh.close()
#
def __getFileName():
'''standardize on a file name, use timestamp? '''
pass
# #
def mkdir(fdir): def mkdir(fdir):
retval = False retval = False
@ -110,8 +115,9 @@ def parseArgs():
print '***** ***** ***** *****\n' print '***** ***** ***** *****\n'
parser = argparse.ArgumentParser(description="Fingerprint a sqlite database based on its schema") 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('-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('-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('-an', '--app_name', required=False)
parser.add_argument('-av', '--app_version', required=False) parser.add_argument('-av', '--app_version', required=False)
parser.add_argument('-n', '--notes', required=False) parser.add_argument('-n', '--notes', required=False)
@ -124,6 +130,8 @@ def parseArgs():
compareFingerprint(args.file, args.fingerprint) compareFingerprint(args.file, args.fingerprint)
elif (args.file and args.fpdir): elif (args.file and args.fpdir):
compareFingerprintDir(args.file, args.fpdir) compareFingerprintDir(args.file, args.fpdir)
elif (args.data_dir):
pass
elif (args.pull): elif (args.pull):
fingerprintDir() fingerprintDir()
elif (args.file): elif (args.file):

View File

@ -67,14 +67,25 @@ class FingerprintIndex:
files = os.listdir(fpdir) files = os.listdir(fpdir)
for file in Files: for file in Files:
try: try:
db.scanDBFile(fpdir) fq_file = fpdir + os.path.sep + file
dbht = db.importJsonIndex(fq_file)
md5_all = __createMD5Index(dbht)
finCount = finCount+1 finCount = finCount+1
except: except:
failCount = failCount+1 failCount = failCount+1
except: 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): def __checkIntegrity(self):