From 09f7ec3ede3c70c9c2a854214748c1c73f747aa0 Mon Sep 17 00:00:00 2001 From: John Chilton <jmchilton@gmail.com> Date: Sun, 10 Apr 2016 17:43:50 -0400 Subject: [PATCH] Update metadata directory handling for Galaxy-ism. Working directory is below metadata directory in Galaxy 16.04 - so need to handle that. --- pulsar/client/staging/up.py | 15 ++++++++------- pulsar/client/test/check.py | 2 ++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pulsar/client/staging/up.py b/pulsar/client/staging/up.py index 9e648d35..f6ca7df2 100644 --- a/pulsar/client/staging/up.py +++ b/pulsar/client/staging/up.py @@ -1,4 +1,5 @@ from os.path import abspath, basename, join, exists +from os.path import isdir from os.path import dirname from os.path import relpath from os import listdir, sep @@ -199,17 +200,17 @@ class FileStager(object): self.transfer_tracker.handle_transfer(path, path_type.METADATA) def __working_directory_files(self): - if self.working_directory and exists(self.working_directory): - return listdir(self.working_directory) - else: - return [] + return self.__list_files(self.working_directory) def __metadata_directory_files(self): - if self.metadata_directory and exists(self.metadata_directory): - return listdir(self.metadata_directory) - else: + return self.__list_files(self.metadata_directory) + + def __list_files(self, directory): + if not directory or not exists(directory): return [] + return [f for f in listdir(directory) if exists(f) and isdir(f)] + def __initialize_version_file_rename(self): version_file = self.version_file if version_file: diff --git a/pulsar/client/test/check.py b/pulsar/client/test/check.py index 25c69cd9..599cf01b 100644 --- a/pulsar/client/test/check.py +++ b/pulsar/client/test/check.py @@ -127,6 +127,7 @@ def run(options): temp_shared_dir = os.path.join(temp_directory, "shared", "test1") temp_work_dir = os.path.join(temp_directory, "w") temp_metadata_dir = os.path.join(temp_directory, "m") + temp_false_working_dir = os.path.join(temp_metadata_dir, "working") temp_tool_dir = os.path.join(temp_directory, "t") __makedirs([ @@ -136,6 +137,7 @@ def run(options): temp_index_dir_sibbling, temp_shared_dir, temp_metadata_dir, + temp_false_working_dir, ]) temp_input_path = os.path.join(temp_directory, "dataset_0.dat") -- GitLab