52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
#
|
|
#
|
|
#
|
|
import argparse
|
|
import time
|
|
|
|
from libs import fingerprint
|
|
|
|
|
|
def main():
|
|
(filein, fileout2, filejson, verbose) = parseArgs()
|
|
|
|
db = fingerprint.DBSchema()
|
|
if (filein):
|
|
retVal = db.scanDBFile(filein)
|
|
if (retVal > 0):
|
|
fh = open(fileout2, "w")
|
|
db.debugFingerprint()
|
|
db.writeFingerprint(fh)
|
|
fh.close()
|
|
else:
|
|
print db.getErrorString(retVal)
|
|
elif (filejson):
|
|
db.importDBSchema(filejson)
|
|
db.debugFingerprint()
|
|
|
|
|
|
def parseArgs():
|
|
print '***** ***** ***** *****'
|
|
print ' DB Fingerprint'
|
|
print '***** ***** ***** *****\n'
|
|
fileout1 = ''
|
|
timestr = time.strftime('%Y-%m-%d_%H%M%S', time.localtime(time.time()))
|
|
parser = argparse.ArgumentParser(description='Fingerprint a sqlite database based on its schema')
|
|
parser.add_argument('-f', '--file', required=False)
|
|
parser.add_argument('-j', '--json', required=False)
|
|
parser.add_argument('-v', '--verbose', action='store_true')
|
|
args = parser.parse_args()
|
|
|
|
if (args.file is None) and (args.json is None):
|
|
parser.print_help()
|
|
exit()
|
|
|
|
if (args.file):
|
|
fileout1 = args.file + "_" + timestr + '.json'
|
|
|
|
return (args.file, fileout1, args.json, args.verbose)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|