fix: ensure than all item of a list of excluded files aren't checked (#45122)
* fix: ensure than list of excluded files aren't checked * test: exclude a list of files
This commit is contained in:
parent
6e43f9fe8f
commit
4f9f1754b4
2 changed files with 16 additions and 8 deletions
|
@ -261,11 +261,13 @@ class ZipArchive(object):
|
|||
else:
|
||||
try:
|
||||
for member in archive.namelist():
|
||||
exclude_flag = False
|
||||
if self.excludes:
|
||||
for exclude in self.excludes:
|
||||
if not fnmatch.fnmatch(member, exclude):
|
||||
self._files_in_archive.append(to_native(member))
|
||||
else:
|
||||
if fnmatch.fnmatch(member, exclude):
|
||||
exclude_flag = True
|
||||
break
|
||||
if not exclude_flag:
|
||||
self._files_in_archive.append(to_native(member))
|
||||
except:
|
||||
archive.close()
|
||||
|
@ -661,11 +663,14 @@ class TgzArchive(object):
|
|||
if filename.startswith('/'):
|
||||
filename = filename[1:]
|
||||
|
||||
exclude_flag = False
|
||||
if self.excludes:
|
||||
for exclude in self.excludes:
|
||||
if not fnmatch.fnmatch(filename, exclude):
|
||||
self._files_in_archive.append(to_native(filename))
|
||||
else:
|
||||
if fnmatch.fnmatch(filename, exclude):
|
||||
exclude_flag = True
|
||||
break
|
||||
|
||||
if not exclude_flag:
|
||||
self._files_in_archive.append(to_native(filename))
|
||||
|
||||
return self._files_in_archive
|
||||
|
|
|
@ -225,11 +225,13 @@
|
|||
- zip
|
||||
- tar
|
||||
|
||||
- name: Unpack archive file excluding glob files.
|
||||
- name: Unpack archive file excluding regular and glob files.
|
||||
unarchive:
|
||||
src: "{{ output_dir }}/unarchive-00.{{item}}"
|
||||
dest: "{{ output_dir }}/exclude-{{item}}"
|
||||
exclude: "exclude/exclude-*.txt"
|
||||
exclude:
|
||||
- "exclude/exclude-*.txt"
|
||||
- "other/exclude-1.ext"
|
||||
with_items:
|
||||
- zip
|
||||
- tar
|
||||
|
@ -245,6 +247,7 @@
|
|||
assert:
|
||||
that:
|
||||
- "'exclude/exclude-1.txt' not in item.stdout"
|
||||
- "'other/exclude-1.ext' not in item.stdout"
|
||||
with_items:
|
||||
- "{{ unarchive00.results }}"
|
||||
|
||||
|
|
Loading…
Reference in a new issue