Use utils for hashing/filechecking in client.py
This commit is contained in:
parent
619304af81
commit
9517e1b305
@ -305,22 +305,13 @@ class SyncplayClient(object):
|
|||||||
self.sendFile()
|
self.sendFile()
|
||||||
self._malUpdater.fileChangeHook(filename, duration)
|
self._malUpdater.fileChangeHook(filename, duration)
|
||||||
|
|
||||||
def __stripfilename(self, filename):
|
|
||||||
return re.sub(constants.FILENAME_STRIP_REGEX,"",filename)
|
|
||||||
|
|
||||||
def __hashFilename(self, filename):
|
|
||||||
return hashlib.sha256(self.__stripfilename(filename)).hexdigest()[:12]
|
|
||||||
|
|
||||||
def __hashFilesize(self, size):
|
|
||||||
return hashlib.sha256(str(size)).hexdigest()[:12]
|
|
||||||
|
|
||||||
def __executePrivacySettings(self, filename, size):
|
def __executePrivacySettings(self, filename, size):
|
||||||
if (self._config['filenamePrivacyMode'] == PRIVACY_SENDHASHED_MODE):
|
if (self._config['filenamePrivacyMode'] == PRIVACY_SENDHASHED_MODE):
|
||||||
filename = self.__hashFilename(filename)
|
filename = utils.hashFilename(filename)
|
||||||
elif (self._config['filenamePrivacyMode'] == PRIVACY_DONTSEND_MODE):
|
elif (self._config['filenamePrivacyMode'] == PRIVACY_DONTSEND_MODE):
|
||||||
filename = PRIVACY_HIDDENFILENAME
|
filename = PRIVACY_HIDDENFILENAME
|
||||||
if (self._config['filesizePrivacyMode'] == PRIVACY_SENDHASHED_MODE):
|
if (self._config['filesizePrivacyMode'] == PRIVACY_SENDHASHED_MODE):
|
||||||
size = self.__hashFilesize(size)
|
size = utils.hashFilesize(size)
|
||||||
elif (self._config['filesizePrivacyMode'] == PRIVACY_DONTSEND_MODE):
|
elif (self._config['filesizePrivacyMode'] == PRIVACY_DONTSEND_MODE):
|
||||||
size = 0
|
size = 0
|
||||||
return filename, size
|
return filename, size
|
||||||
@ -456,15 +447,12 @@ class SyncplayUser(object):
|
|||||||
}
|
}
|
||||||
self.file = file_
|
self.file = file_
|
||||||
|
|
||||||
def isFileSame(self, file_):
|
def isFileSame(self, file_):
|
||||||
def stripfilename(filename): #TODO: Add proper Unicode support
|
|
||||||
return re.sub(constants.FILENAME_STRIP_REGEX,"",filename)
|
|
||||||
|
|
||||||
if(not self.file):
|
if(not self.file):
|
||||||
return False
|
return False
|
||||||
sameName = stripfilename(self.file['name']) == stripfilename(file_['name'])
|
sameName = utils.sameFilename(self.file['name'], file_['name'])
|
||||||
sameSize = self.file['size'] == file_['size']
|
sameSize = utils.sameFilesize(self.file['size'], file_['size'])
|
||||||
sameDuration = abs(round(self.file['duration']) - round(file_['duration'])) < constants.DIFFFERENT_DURATION_THRESHOLD
|
sameDuration = utils.sameFileduration(self.file['duration'], file_['duration'])
|
||||||
return sameName and sameSize and sameDuration
|
return sameName and sameSize and sameDuration
|
||||||
|
|
||||||
def __lt__(self, other):
|
def __lt__(self, other):
|
||||||
@ -540,11 +528,14 @@ class SyncplayUserlist(object):
|
|||||||
message = getMessage("en", "file-different-notification").format(username)
|
message = getMessage("en", "file-different-notification").format(username)
|
||||||
self.ui.showMessage(message)
|
self.ui.showMessage(message)
|
||||||
differences = []
|
differences = []
|
||||||
if(self.currentUser.file['name'] <> file_['name']):
|
differentName = not utils.sameFilename(self.currentUser.file['name'], file_['name'])
|
||||||
|
differentSize = not utils.sameFilesize(self.currentUser.file['size'], file_['size'])
|
||||||
|
differentDuration = not utils.sameFileduration(self.currentUser.file['duration'], file_['duration'])
|
||||||
|
if(differentName):
|
||||||
differences.append("filename")
|
differences.append("filename")
|
||||||
if(self.currentUser.file['size'] <> file_['size']):
|
if(differentSize):
|
||||||
differences.append("size")
|
differences.append("size")
|
||||||
if(self.currentUser.file['duration'] <> file_['duration']):
|
if(differentDuration):
|
||||||
differences.append("duration")
|
differences.append("duration")
|
||||||
message = getMessage("en", "file-differences-notification") + ", ".join(differences)
|
message = getMessage("en", "file-differences-notification") + ", ".join(differences)
|
||||||
self.ui.showMessage(message)
|
self.ui.showMessage(message)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user