From df3485f29656a5c4e3f1d7c09ccfdf3c6274d312 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Mon, 10 Dec 2018 17:55:11 -0300 Subject: [PATCH] 14012: Split cache file name generation for readability Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- sdk/python/arvados/commands/put.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/sdk/python/arvados/commands/put.py b/sdk/python/arvados/commands/put.py index f1477e2b84..61258632bd 100644 --- a/sdk/python/arvados/commands/put.py +++ b/sdk/python/arvados/commands/put.py @@ -799,6 +799,20 @@ class ArvPutUploadJob(object): def _my_collection(self): return self._remote_collection if self.update else self._local_collection + def _get_cache_filepath(self): + # Set up cache file name from input paths. + md5 = hashlib.md5() + md5.update(arvados.config.get('ARVADOS_API_HOST', '!nohost').encode()) + realpaths = sorted(os.path.realpath(path) for path in self.paths) + md5.update(b'\0'.join([p.encode() for p in realpaths])) + if self.filename: + md5.update(self.filename.encode()) + cache_filename = md5.hexdigest() + cache_filepath = os.path.join( + arv_cmd.make_home_conf_dir(self.CACHE_DIR, 0o700, 'raise'), + cache_filename) + return cache_filepath + def _setup_state(self, update_collection): """ Create a new cache file or load a previously existing one. @@ -818,17 +832,7 @@ class ArvPutUploadJob(object): raise CollectionUpdateError("Collection locator unknown: '{}'".format(update_collection)) if self.use_cache: - # Set up cache file name from input paths. - md5 = hashlib.md5() - md5.update(arvados.config.get('ARVADOS_API_HOST', '!nohost').encode()) - realpaths = sorted(os.path.realpath(path) for path in self.paths) - md5.update(b'\0'.join([p.encode() for p in realpaths])) - if self.filename: - md5.update(self.filename.encode()) - cache_filename = md5.hexdigest() - cache_filepath = os.path.join( - arv_cmd.make_home_conf_dir(self.CACHE_DIR, 0o700, 'raise'), - cache_filename) + cache_filepath = self._get_cache_filepath() if self.resume and os.path.exists(cache_filepath): self.logger.info("Resuming upload from cache file {}".format(cache_filepath)) self._cache_file = open(cache_filepath, 'a+') -- 2.30.2