From fa895239d52468a60c2e8a68159b1a575ce77264 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 16 May 2019 20:21:17 -0300 Subject: Calculate hash using a subprocess to avoid memory consumption --- ckandumper | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ckandumper b/ckandumper index 55cd13a..a11bb24 100755 --- a/ckandumper +++ b/ckandumper @@ -95,12 +95,17 @@ class DownloadMultiple: output.write(str(datetime.datetime.now()) + '\n') output.close() - # File might be too big, so we're not computing it's hash here - #if os.path.exists(local_filename): - # content = open(local_filename, 'rb') - # output = open(local_filename + '.sha256', 'w') - # output.write(sha256(content.read()).hexdigest() + ' ' + os.path.basename(local_filename) + '\n') - # output.close() + if os.path.exists(local_filename): + # File might be too big, so we're not computing it's inside the script + #content = open(local_filename, 'rb') + #output = open(local_filename + '.sha256', 'w') + #output.write(sha256(content.read()).hexdigest() + ' ' + os.path.basename(local_filename) + '\n') + #output.close() + hasher = 'cd ' + os.path.dirname(local_filename) + '&& /usr/bin/sha256sum ' + hasher += os.path.basename(local_filename) + ' > ' + os.path.basename(local_filename) + '.sha256' + hash = await asyncio.create_subprocess_shell(hasher, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE) if not str(proc.returncode) in self.globalstats['exitstatus']: self.globalstats['exitstatus'][str(proc.returncode)] = [] -- cgit v1.2.3