Skip to content

Commit

Permalink
0.9.8 dev update
Browse files Browse the repository at this point in the history
 Changes to be committed:
	modified:   CHANGELOG.md
	modified:   src/vinetto/config.py
	modified:   src/vinetto/thumbCMMM.py
	modified:   src/vinetto/thumbOLE.py
	modified:   src/vinetto/vinetto.py
  • Loading branch information
AtesComp committed Jun 25, 2020
1 parent a0e7e0f commit a1ef3ba
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 48 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

All notable changes to this project will be documented in this file.

## [0.9.8] - 2020-06-25 (DEVELOPEMENT)

### Changed

- Fixed symlink targets (auscompgeek)
- Fixed processing when ESEDB is NOT used
- Fixed symlink logging

## [0.9.7] - 2020-02-25 (DEVELOPEMENT)

### Changed
Expand Down
2 changes: 1 addition & 1 deletion src/vinetto/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@


THUMBS_SUBDIR = ".thumbs"
THUMBS_FILE_URLS = "urls.txt"
THUMBS_FILE_SYMS = "symlinks.log"

THUMBS_TYPE_OLE = 0
THUMBS_TYPE_CMMM = 1
Expand Down
50 changes: 26 additions & 24 deletions src/vinetto/thumbCMMM.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ def printCache(strSig, iSize, strHash, strExt, iIdSize, iPadSize, iDataSize, iWi
print(" Head Checksum: %s" % str(iChkSumH))
print(" ID: %s" % keyStreamName)
if (config.ARGS.verbose > 0):
config.ESEDB.printInfo()
if (config.ARGS.edbfile != None):
config.ESEDB.printInfo()
return


Expand Down Expand Up @@ -216,9 +217,6 @@ def process(infile, fileThumbsDB, iThumbsDBSize):
# Otherwise,
# No Data, no Ext!

# ESEDB Search...
isESEDBRecFound = config.ESEDB.search(keyStreamName)

if (config.ARGS.verbose >= 0):
print(" Cache Entry %d\n --------------------" % iCacheCounter)
printCache(tDB_sig.decode(), tDB_size, strHash, strExt, tDB_idSize, tDB_padSize, tDB_dataSize,
Expand All @@ -227,26 +225,30 @@ def process(infile, fileThumbsDB, iThumbsDBSize):
strCleanFileName = utils.cleanFileName(keyStreamName)

if (tDB_dataSize > 0):
# Setup symbolic link to filename...
if (isESEDBRecFound):
strFileName = None
strCatEntryTimestamp = utils.getFormattedWinToPyTimeUTC(config.ESEDB.dictRecord["DATEM"])
if (config.ESEDB.dictRecord["IURL"] != None):
strFileName = config.ESEDB.dictRecord["IURL"].split("/")[-1].split("?")[0]
if (strFileName != None):
if (config.ARGS.symlinks): # ...implies config.ARGS.outdir
strTarget = config.THUMBS_SUBDIR + "/" + strCleanFileName + "." + strExt
setSymlink(strTarget, config.ARGS.outdir + strFileName)

fileURL = open(config.ARGS.outdir + config.THUMBS_FILE_URLS, "a+")
fileURL.write(strTarget + " => " + strFileName + "\n")
fileURL.close()

# Add a "catalog" entry...
tdbCatalog[strCleanFileName] = (strCatEntryTimestamp, strFileName)

if (config.ARGS.verbose >= 0):
print(" CATALOG " + strCleanFileName + ": " + ("%19s" % strCatEntryTimestamp) + " " + strFileName)
strFileName = None
if (config.ARGS.edbfile != None):
# ESEDB Search...
isESEDBRecFound = config.ESEDB.search(keyStreamName)
if (isESEDBRecFound):
strCatEntryTimestamp = utils.getFormattedWinToPyTimeUTC(config.ESEDB.dictRecord["DATEM"])
if (config.ESEDB.dictRecord["IURL"] != None):
strFileName = config.ESEDB.dictRecord["IURL"].split("/")[-1].split("?")[0]

if (strFileName != None):
# Setup symbolic link to filename...
if (config.ARGS.symlinks): # ...implies config.ARGS.outdir
strTarget = config.THUMBS_SUBDIR + "/" + strCleanFileName + "." + strExt
setSymlink(strTarget, config.ARGS.outdir + strFileName)

fileURL = open(config.ARGS.outdir + config.THUMBS_FILE_SYMS, "a+")
fileURL.write(strTarget + " => " + strFileName + "\n")
fileURL.close()

# Add a "catalog" entry...
tdbCatalog[strCleanFileName] = (strCatEntryTimestamp, strFileName)

if (config.ARGS.verbose >= 0):
print(" CATALOG " + strCleanFileName + ": " + ("%19s" % strCatEntryTimestamp) + " " + strFileName)

# Write data to filename...
if (config.ARGS.outdir != None):
Expand Down
48 changes: 27 additions & 21 deletions src/vinetto/thumbOLE.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ def printCache(strName, dictOLECache):
print(" Modify: " + utils.getFormattedWinToPyTimeUTC(dictOLECache["modify"]))
print(" 1st Sec: %d" % dictOLECache["SID_firstSecDir"])
print(" Size: %d" % dictOLECache["SID_sizeDir"])
if (config.ARGS.edbfile != None):
config.ESEDB.printInfo()
return


Expand Down Expand Up @@ -387,6 +389,10 @@ def process(infile, fileThumbsDB, iThumbsDBSize):
strTarget = config.THUMBS_SUBDIR + "/" + strCatEntryID + ".jpg"
utils.setSymlink(strTarget, config.ARGS.outdir + strCatEntryName)

fileURL = open(config.ARGS.outdir + config.THUMBS_FILE_SYMS, "a+")
fileURL.write(strTarget + " => " + strCatEntryName + "\n")
fileURL.close()

# Add a "catalog" entry...
tdbCatalog[iCatEntryID] = (strCatEntryTimestamp, strCatEntryName)

Expand All @@ -413,29 +419,29 @@ def process(infile, fileThumbsDB, iThumbsDBSize):

strExt = "jpg"
if (not bOldNameID):
# ESEDB Search...
isESEDBRecFound = config.ESEDB.search(strRawName[strRawName.find("_") + 1: ]) # Raw Name is structured SIZE_THUMBCACHEID
if (isESEDBRecFound):
strFileName = None
strCatEntryTimestamp = utils.getFormattedWinToPyTimeUTC(config.ESEDB.dictRecord["DATEM"])
if (config.ESEDB.dictRecord["IURL"] != None):
strFileName = config.ESEDB.dictRecord["IURL"].split("/")[-1].split("?")[0]
if (strFileName != None):
if (config.ARGS.symlinks): # ...implies config.ARGS.outdir
strTarget = config.ARGS.outdir + config.THUMBS_SUBDIR + "/" + strRawName + "." + strExt
utils.setSymlink(strTarget, config.ARGS.outdir + strFileName)

fileURL = open(config.ARGS.outdir + config.THUMBS_FILE_URLS, "a+")
fileURL.write(strTarget + " => " + strFileName + "\n")
fileURL.close()

# Add a "catalog" entry...
tdbCatalog[strRawName] = (strCatEntryTimestamp, strFileName)
strFileName = None
if (config.ARGS.edbfile != None):
# ESEDB Search...
isESEDBRecFound = config.ESEDB.search(strRawName[strRawName.find("_") + 1: ]) # Raw Name is structured SIZE_THUMBCACHEID
if (isESEDBRecFound):
strCatEntryTimestamp = utils.getFormattedWinToPyTimeUTC(config.ESEDB.dictRecord["DATEM"])
if (config.ESEDB.dictRecord["IURL"] != None):
strFileName = config.ESEDB.dictRecord["IURL"].split("/")[-1].split("?")[0]

if (strFileName != None):
if (config.ARGS.symlinks): # ...implies config.ARGS.outdir
strTarget = config.ARGS.outdir + config.THUMBS_SUBDIR + "/" + strRawName + "." + strExt
utils.setSymlink(strTarget, config.ARGS.outdir + strFileName)

fileURL = open(config.ARGS.outdir + config.THUMBS_FILE_SYMS, "a+")
fileURL.write(strTarget + " => " + strFileName + "\n")
fileURL.close()

# Add a "catalog" entry...
tdbCatalog[strRawName] = (strCatEntryTimestamp, strFileName)

if (config.ARGS.verbose >= 0):
config.ESEDB.printInfo()
if (strFileName != None):
print(" CATALOG " + strRawName + ": " + ("%19s" % strCatEntryTimestamp) + " " + strFileName)
print(" CATALOG " + strRawName + ": " + ("%19s" % strCatEntryTimestamp) + " " + strFileName)

# --- Header 2: Type 2 Thumbnail Image? (Full JPEG)...
if (bstrStreamData[headOffset: headOffset + 4] == bytearray(b"\xff\xd8\xff\xe0")):
Expand Down
4 changes: 2 additions & 2 deletions src/vinetto/vinetto.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,8 +235,8 @@ def testOutput():
config.ARGS.outdir += "/"

# Remove existing URL file...
if os.path.exists(config.ARGS.outdir + config.THUMBS_FILE_URLS):
os.remove(config.ARGS.outdir + config.THUMBS_FILE_URLS)
if os.path.exists(config.ARGS.outdir + config.THUMBS_FILE_SYMS):
os.remove(config.ARGS.outdir + config.THUMBS_FILE_SYMS)
return


Expand Down

0 comments on commit a1ef3ba

Please sign in to comment.