plugin XEP-0300; fixed use of calculateHash with getHasher

This commit is contained in:
Goffi 2020-05-29 21:06:10 +02:00
commit 8da309e51e

View file

@ -109,16 +109,15 @@ class XEP_0300(object):
/!\\ blocking method, please use calculateHash instead
@param file_obj(file): a file-like object
@param hasher(callable): the method to call to initialise hash object
@param hasher(hash object): the method to call to initialise hash object
@return (str): the hex digest of the hash
"""
hash_ = hasher()
while True:
buf = file_obj.read(BUFFER_SIZE)
if not buf:
break
hash_.update(buf)
return hash_.hexdigest()
hasher.update(buf)
return hasher.hexdigest()
def calculateHash(self, file_obj, hasher):
return threads.deferToThread(self._calculateHashBlocking, file_obj, hasher)
@ -134,7 +133,7 @@ class XEP_0300(object):
def hashCalculated(hash_):
return self.buildHashElt(hash_, algo)
hasher = self.ALGOS[algo]
hasher = self.getHasher(algo)
hash_d = self.calculateHash(file_obj, hasher)
hash_d.addCallback(hashCalculated)
return hash_d