From c70796cda45704cecadadaa3d4d0d85ff81ebe96 Mon Sep 17 00:00:00 2001 From: Natti Katz Date: Sun, 21 Nov 2021 19:53:26 +0200 Subject: [PATCH 1/3] fixed typo in method --- package/cloudshell/cm/ansible/domain/zip_service.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/cloudshell/cm/ansible/domain/zip_service.py b/package/cloudshell/cm/ansible/domain/zip_service.py index a7fe784..a6be6b9 100644 --- a/package/cloudshell/cm/ansible/domain/zip_service.py +++ b/package/cloudshell/cm/ansible/domain/zip_service.py @@ -7,7 +7,7 @@ def extract_all(self, zip_file_name): zip = None try: zip = ZipFile(zip_file_name, 'r') - if self._contain_sinlge_folder(zip): + if self._contain_single_folder(zip): for file_info in self._get_files(zip): file_info.filename = self._remove_first_folder(file_info.filename) zip.extract(file_info) @@ -43,7 +43,7 @@ def _is_folder(zipped_item): return zipped_item.filename[-1] == '/' @staticmethod - def _contain_sinlge_folder(zip): + def _contain_single_folder(zip): ''' :type zip: ZipFile :rtype: bool From 1cceb5b342b9c01e5d9885d6865b2f7ebd6c4783 Mon Sep 17 00:00:00 2001 From: Natti Katz Date: Sun, 21 Nov 2021 19:53:45 +0200 Subject: [PATCH 2/3] removed semicolon --- package/cloudshell/cm/ansible/domain/zip_service.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/cloudshell/cm/ansible/domain/zip_service.py b/package/cloudshell/cm/ansible/domain/zip_service.py index a6be6b9..8aba8e9 100644 --- a/package/cloudshell/cm/ansible/domain/zip_service.py +++ b/package/cloudshell/cm/ansible/domain/zip_service.py @@ -48,6 +48,6 @@ def _contain_single_folder(zip): :type zip: ZipFile :rtype: bool ''' - files = zip.namelist(); + files = zip.namelist() folder = next((f for f in files if f[-1] == '/'), None) return folder and all(f.startswith(folder) for f in files) \ No newline at end of file From b54b2a78fb46acc51846a8de30ab2ee8fe230bb8 Mon Sep 17 00:00:00 2001 From: Natti Katz Date: Sun, 21 Nov 2021 20:15:23 +0200 Subject: [PATCH 3/3] added fix for zip service to handle case where base folder not returned from zip.namelist() --- package/cloudshell/cm/ansible/domain/zip_service.py | 3 ++- package/version.txt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/cloudshell/cm/ansible/domain/zip_service.py b/package/cloudshell/cm/ansible/domain/zip_service.py index 8aba8e9..d98d041 100644 --- a/package/cloudshell/cm/ansible/domain/zip_service.py +++ b/package/cloudshell/cm/ansible/domain/zip_service.py @@ -49,5 +49,6 @@ def _contain_single_folder(zip): :rtype: bool ''' files = zip.namelist() - folder = next((f for f in files if f[-1] == '/'), None) + # base folder not always guaranteed to be member in namelist - this expression will extract base folder name anyway + folder = next((f.split("/")[0] + "/" for f in files if "/" in f), None) return folder and all(f.startswith(folder) for f in files) \ No newline at end of file diff --git a/package/version.txt b/package/version.txt index 10bf840..f93ea0c 100644 --- a/package/version.txt +++ b/package/version.txt @@ -1 +1 @@ -2.0.1 \ No newline at end of file +2.0.2 \ No newline at end of file