X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6c3e6273fa29b8004c17a7b619b3818f8e8bd84e..b6888eaa68820d4107a73fb1fea136c00866f915:/crunch_scripts/hash diff --git a/crunch_scripts/hash b/crunch_scripts/hash index 6d6c88f64d..3c157163d1 100755 --- a/crunch_scripts/hash +++ b/crunch_scripts/hash @@ -2,7 +2,6 @@ import arvados import hashlib -import re arvados.job_setup.one_task_per_input_file(if_sequence=0, and_end_task=True) @@ -11,22 +10,25 @@ this_task = arvados.current_task() this_task_input = this_task['parameters']['input'] if 'algorithm' in this_job['script_parameters']: - alg = this_job['script_parameters'] + alg = this_job['script_parameters']['algorithm'] else: alg = 'md5' digestor = hashlib.new(alg) -input_stream = arvados.DataReader(this_task_input) +input_file = list(arvados.CollectionReader(this_task_input).all_files())[0] while True: - buf = input_stream.read(2**20) + buf = input_file.read(2**20) if len(buf) == 0: break digestor.update(buf) hexdigest = digestor.hexdigest() -file_name = re.sub(r'^[^/]+/', '', this_task_input) -input_stream.close() - -this_task.set_output("%s %s\n" % (hexdigest, file_name)) +file_name = input_file.name() +if input_file.stream_name() != '.': + file_name = os.join(input_file.stream_name(), file_name) +out = arvados.CollectionWriter() +out.set_current_file_name("md5sum.txt") +out.write("%s %s\n" % (hexdigest, file_name)) +this_task.set_output(out.finish())