MOD: added a timestamp to the fingerprints folder to avoid collisions, fingerprints_2015-12-02_131904
This commit is contained in:
parent
78c1727afa
commit
c91a0f74dd
18
dbfp.py
18
dbfp.py
|
@ -8,6 +8,7 @@ from subprocess import Popen, PIPE, check_call
|
|||
# our libs
|
||||
from libs import fingerprint
|
||||
from libs import android
|
||||
from libs.toolbox import ToolBox
|
||||
from libs.fingerprint_index import FingerprintIndex
|
||||
|
||||
BASE_DIR = "data"
|
||||
|
@ -68,7 +69,7 @@ def androidPull():
|
|||
for dir_name in dir_names:
|
||||
fq_dir = BASE_DIR + os.path.sep + dir_name
|
||||
ap.pullApp(BASE_DIR, dir_name)
|
||||
__createFingerprint(fq_dir, dir_name)
|
||||
__createFingerprint(fq_dir, FP_BASE_DIR, dir_name)
|
||||
|
||||
#
|
||||
def androidData(data_dir):
|
||||
|
@ -78,19 +79,20 @@ def androidData(data_dir):
|
|||
except:
|
||||
return
|
||||
|
||||
if (not mkdir(FP_BASE_DIR)):
|
||||
out_dir = FP_BASE_DIR + "_" + ToolBox.getTimestampStr()
|
||||
if (not mkdir(out_dir)):
|
||||
logging.error("ERROR creating directory: {}".format(FP_BASE_DIR))
|
||||
return
|
||||
|
||||
for ddir in dirs:
|
||||
fq_dir = data_dir + os.path.sep + ddir
|
||||
__createFingerprint(fq_dir, ddir)
|
||||
in_dir = data_dir + os.path.sep + ddir
|
||||
__createFingerprint(in_dir, out_dir, ddir)
|
||||
|
||||
# in_dir: fully qualified directory path to find sqlite files
|
||||
def __createFingerprint(fq_dir, dir_name):
|
||||
def __createFingerprint(in_dir, out_dir, dir_name):
|
||||
try:
|
||||
db_dir = fq_dir + os.path.sep + "databases"
|
||||
logging.info("fq_dir=={}".format(db_dir))
|
||||
db_dir = in_dir + os.path.sep + "databases"
|
||||
logging.info("in_dir=={}".format(db_dir))
|
||||
files = os.listdir(db_dir)
|
||||
except:
|
||||
# not finding a databases folder is normal, not all apps use sqlite
|
||||
|
@ -102,7 +104,7 @@ def __createFingerprint(fq_dir, dir_name):
|
|||
retVal = db.scanDBFile(ddir)
|
||||
if (retVal > 0):
|
||||
fname = dir_name + "__" + filein + "__dbfp" + ".json"
|
||||
fq_name = FP_BASE_DIR + os.path.sep + fname
|
||||
fq_name = out_dir + os.path.sep + fname
|
||||
db.setAppName(dir_name)
|
||||
db.writeFingerprintFile(fq_name)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import sqlite3
|
|||
import hashlib
|
||||
import time
|
||||
import logging
|
||||
from libs import toolbox
|
||||
from libs.toolbox import ToolBox
|
||||
from libs.exceptions import FingerprintWrite
|
||||
|
||||
delimeter = "|"
|
||||
|
@ -66,7 +66,7 @@ class FingerprintDB:
|
|||
|
||||
try:
|
||||
# extract file name from path+filename
|
||||
self.dbName = toolbox.ToolBox.parseFilenameIncExt(filein)
|
||||
self.dbName = ToolBox.parseFilenameIncExt(filein)
|
||||
except:
|
||||
self.dbName = filein
|
||||
try:
|
||||
|
@ -87,7 +87,7 @@ class FingerprintDB:
|
|||
return
|
||||
|
||||
try:
|
||||
filename = toolbox.ToolBox.getTimestampFilename(self.filein)
|
||||
filename = ToolBox.getTimestampFilename(self.filein)
|
||||
fh = open(filename, "w")
|
||||
try:
|
||||
self.__writeFingerprint(fh)
|
||||
|
|
|
@ -44,7 +44,17 @@ class ToolBox:
|
|||
@staticmethod
|
||||
def getTimestampFilename(fqfilename):
|
||||
""" return output file name """
|
||||
timestr = time.strftime('%Y-%m-%d_%H%M%S', time.localtime(time.time()))
|
||||
timestr = getTimestampStr()
|
||||
filename = ToolBox.parseFilename(fqfilename)
|
||||
fileout = filename + "_" + timestr + '.json'
|
||||
return fileout
|
||||
|
||||
#
|
||||
@staticmethod
|
||||
def getTimestampStr():
|
||||
timestr = '000'
|
||||
try:
|
||||
timestr = time.strftime('%Y-%m-%d_%H%M%S', time.localtime(time.time()))
|
||||
except:
|
||||
pass
|
||||
return timestr
|
||||
|
|
Loading…
Reference in New Issue