Skip to content

Commit

Permalink
Symlink and Performance fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Yohanth Shetty committed Mar 25, 2023
1 parent 79986cb commit 723f23c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 16 deletions.
17 changes: 3 additions & 14 deletions ebcli/core/fileoperations.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -451,18 +445,13 @@ 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)

if (
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
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/core/test_fileoperations.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand All @@ -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')))
Expand Down

0 comments on commit 723f23c

Please sign in to comment.