Move filehash/differencecheck functions to utils.py + update
This commit is contained in:
parent
260dbd3813
commit
619304af81
@ -6,6 +6,7 @@ from syncplay.messages import getMessage
|
|||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import itertools
|
import itertools
|
||||||
|
import hashlib
|
||||||
|
|
||||||
def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None):
|
def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None):
|
||||||
"""Retry calling the decorated function using an exponential backoff.
|
"""Retry calling the decorated function using an exponential backoff.
|
||||||
@ -128,3 +129,42 @@ def blackholeStdoutForFrozenWindow():
|
|||||||
pass
|
pass
|
||||||
sys.stdout = Blackhole()
|
sys.stdout = Blackhole()
|
||||||
del Blackhole
|
del Blackhole
|
||||||
|
|
||||||
|
# Relate to file hashing / difference checking:
|
||||||
|
|
||||||
|
def stripfilename(filename):
|
||||||
|
return re.sub(constants.FILENAME_STRIP_REGEX,"",filename)
|
||||||
|
|
||||||
|
def hashFilename(filename):
|
||||||
|
return hashlib.sha256(stripfilename(filename)).hexdigest()[:12]
|
||||||
|
|
||||||
|
def hashFilesize(size):
|
||||||
|
return hashlib.sha256(str(size)).hexdigest()[:12]
|
||||||
|
|
||||||
|
def sameHashed(string1raw, string1hashed, string2raw, string2hashed):
|
||||||
|
if string1raw == string2raw:
|
||||||
|
return True
|
||||||
|
elif string1raw == string2hashed:
|
||||||
|
return True
|
||||||
|
elif string1hashed == string2raw:
|
||||||
|
return True
|
||||||
|
elif string1hashed == string2hashed:
|
||||||
|
return True
|
||||||
|
|
||||||
|
def sameFilename (filename1, filename2):
|
||||||
|
if sameHashed(stripfilename(filename1), hashFilename(filename1), stripfilename(filename2), hashFilename(filename2)):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def sameFilesize (filesize1, filesize2):
|
||||||
|
if sameHashed(filesize1, hashFilesize(filesize1), filesize2, hashFilesize(filesize2)):
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def sameFileduration (duration1, duration2):
|
||||||
|
if abs(round(duration1) - round(duration2)) < constants.DIFFFERENT_DURATION_THRESHOLD:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user