diff --git a/pulsar/client/staging/up.py b/pulsar/client/staging/up.py index 9e648d35761415369bc13e4a92e6b53b3229235a..f6ca7df2c53f3382b6e2985794725fafd25a2b12 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 25c69cd91c0908d5094deb3833717a5b56b1cba0..599cf01bc018b87b48556cd3d5ac8c3602b8f050 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")