From 723f23cf782393e112ad86ada4eb7c98b2b845f1 Mon Sep 17 00:00:00 2001 From: Yohanth Shetty Date: Fri, 24 Mar 2023 16:39:54 -0700 Subject: [PATCH] Symlink and Performance fix --- ebcli/core/fileoperations.py | 17 +++-------------- tests/unit/core/test_fileoperations.py | 4 ++-- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/ebcli/core/fileoperations.py b/ebcli/core/fileoperations.py index 3a2f88c0a..b3f229010 100644 --- a/ebcli/core/fileoperations.py +++ b/ebcli/core/fileoperations.py @@ -18,13 +18,13 @@ import shutil import stat import sys -import zipfile -import yaml import warnings -from pathspec import PathSpec +import yaml +import zipfile from cement.utils.misc import minimal_logger from ebcli.objects.buildconfiguration import BuildConfiguration +from pathspec import PathSpec from six import StringIO from yaml import safe_load, safe_dump from yaml.parser import ParserError @@ -110,12 +110,6 @@ def _get_option(config, section, key, default): def is_git_directory_present(): return os.path.isdir('.git') -def is_parent_directory_in_ignore_list(filepath, ignore_list): - for directory in ignore_list: - if os.path.abspath(filepath).startswith(os.path.abspath(directory)): - return True - return False - def clean_up(): cwd = os.getcwd() try: @@ -451,10 +445,6 @@ def _zipdir(path, zipf, ignore_list=None): zipInfo.external_attr = 2716663808 else: zipInfo.external_attr = long(2716663808) - if not is_parent_directory_in_ignore_list(cur_dir, ignore_list): - zipf.writestr(zipInfo, os.readlink(cur_dir)) - else: - io.log_info(' -skipping: {}'.format(cur_dir)) for f in files: cur_file = os.path.join(root, f) @@ -462,7 +452,6 @@ def _zipdir(path, zipf, ignore_list=None): cur_file.endswith('~') or cur_file in ignore_list or not _validate_file_for_archive(cur_file) - or is_parent_directory_in_ignore_list(cur_file, ignore_list) ): # Ignore editor backup files (like file.txt~) # Ignore anything in the .ebignore file diff --git a/tests/unit/core/test_fileoperations.py b/tests/unit/core/test_fileoperations.py index b15bc9693..1204641cd 100644 --- a/tests/unit/core/test_fileoperations.py +++ b/tests/unit/core/test_fileoperations.py @@ -756,7 +756,7 @@ def test_zip_up_project(self, _validate_file_for_archive_mock): fileoperations.zip_up_project( 'app.zip', - ignore_list=[os.path.join('src', 'lib', 'ignore-this-file.py'), os.path.join('ignore-me/')] + ignore_list=[os.path.join('src', 'lib', 'ignore-this-file.py'), os.path.join('ignore-me/'), os.path.join('src', 'lib', 'api-copy')] ) os.mkdir('tmp') @@ -765,7 +765,7 @@ def test_zip_up_project(self, _validate_file_for_archive_mock): self.assertTrue(os.path.exists(os.path.join('tmp', 'src', 'lib', 'app.py'))) self.assertTrue(os.path.exists(os.path.join('tmp', 'src', 'lib', 'api'))) self.assertTrue(os.path.exists(os.path.join('tmp', 'src', 'lib', 'app.py-copy'))) - self.assertTrue(os.path.exists(os.path.join('tmp', 'src', 'lib', 'api-copy'))) + self.assertFalse(os.path.exists(os.path.join('tmp', 'src', 'lib', 'api-copy'))) self.assertFalse(os.path.exists(os.path.join('tmp', 'src', 'lib', 'app.py~'))) self.assertFalse(os.path.exists(os.path.join('tmp', 'src', 'lib', 'ignore-this-file.py'))) self.assertFalse(os.path.exists(os.path.join('tmp', 'src', 'lib', 'test.sock')))