Task cleanup

This commit is contained in:
2021-12-30 20:47:51 +00:00
parent 9a8a9433db
commit f440e16f15

View File

@@ -7,39 +7,39 @@ from rq import get_current_job
BLOCKSIZE = 65535 BLOCKSIZE = 65535
def set_meta(job, message):
job.meta["status"] = message
job.save_meta()
def check_hash(algorithm, filename, hashval): def check_hash(algorithm, filename, hashval):
job = get_current_job() job = get_current_job()
if job: if job:
job.meta["status"] = "Processing: 0%"
job.save_meta()
if filename == "" or hashval == "": if filename == "" or hashval == "":
return "ERROR: Invalid Arguents" set_meta(job, "FAILED: Invalid Job")
return
if algorithm == "sha256": if algorithm == "sha256":
hashfunc = hashlib.sha256() hashfunc = hashlib.sha256()
else: else:
return "ERROR: Unknown Algorithm" set_meta(job, "FAILED: Unknown Algorithm")
return
filesize = os.path.getsize(filename) filesize = os.path.getsize(filename)
filepos = 0 filepos = 0
with open(filename, "rb") as f: with open(filename, "rb") as f:
file_buffer = f.read(BLOCKSIZE) file_buffer = f.read(BLOCKSIZE)
filepos += len(file_buffer) filepos += len(file_buffer)
job.meta["status"] = "Processing: {}%".format(filepos / filesize * 100) set_meta(job, "Processing: {}%".format(filepos / filesize * 100))
job.save_meta()
while len(file_buffer) > 0: while len(file_buffer) > 0:
hashfunc.update(file_buffer) hashfunc.update(file_buffer)
file_buffer = f.read(BLOCKSIZE) file_buffer = f.read(BLOCKSIZE)
job.meta["status"] = "Processing: {}%".format(filesize / filesize * 100) set_meta(job, "Processing: {}%".format(filesize / filesize * 100))
job.save_meta()
# time.sleep(5) # time.sleep(5)
if hashfunc.hexdigest() == hashval: if hashfunc.hexdigest() == hashval:
job.meta["status"] = "OK: Hash Value Matches" set_meta(job, "OK: Hash Value Matches")
else: else:
job.meta["status"] = "FAILED: Invalid Hash" set_meta(job, "FAILED: Invalid Hash")
job.save_meta()