|
|
@ -253,7 +253,7 @@ import stat
|
|
|
|
import time
|
|
|
|
import time
|
|
|
|
import traceback
|
|
|
|
import traceback
|
|
|
|
from functools import partial
|
|
|
|
from functools import partial
|
|
|
|
from zipfile import ZipFile, BadZipfile
|
|
|
|
from zipfile import ZipFile
|
|
|
|
|
|
|
|
|
|
|
|
from ansible.module_utils._text import to_bytes, to_native, to_text
|
|
|
|
from ansible.module_utils._text import to_bytes, to_native, to_text
|
|
|
|
from ansible.module_utils.basic import AnsibleModule
|
|
|
|
from ansible.module_utils.basic import AnsibleModule
|
|
|
@ -266,6 +266,11 @@ try: # python 3.3+
|
|
|
|
except ImportError: # older python
|
|
|
|
except ImportError: # older python
|
|
|
|
from pipes import quote
|
|
|
|
from pipes import quote
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try: # python 3.2+
|
|
|
|
|
|
|
|
from zipfile import BadZipFile # type: ignore[attr-defined]
|
|
|
|
|
|
|
|
except ImportError: # older python
|
|
|
|
|
|
|
|
from zipfile import BadZipfile as BadZipFile
|
|
|
|
|
|
|
|
|
|
|
|
# String from tar that shows the tar contents are different from the
|
|
|
|
# String from tar that shows the tar contents are different from the
|
|
|
|
# filesystem
|
|
|
|
# filesystem
|
|
|
|
OWNER_DIFF_RE = re.compile(r': Uid differs$')
|
|
|
|
OWNER_DIFF_RE = re.compile(r': Uid differs$')
|
|
|
@ -351,7 +356,7 @@ class ZipArchive(object):
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
archive = ZipFile(self.src)
|
|
|
|
archive = ZipFile(self.src)
|
|
|
|
except BadZipfile as e:
|
|
|
|
except BadZipFile as e:
|
|
|
|
if e.args[0].lower().startswith('bad magic number'):
|
|
|
|
if e.args[0].lower().startswith('bad magic number'):
|
|
|
|
# Python2.4 can't handle zipfiles with > 64K files. Try using
|
|
|
|
# Python2.4 can't handle zipfiles with > 64K files. Try using
|
|
|
|
# /usr/bin/unzip instead
|
|
|
|
# /usr/bin/unzip instead
|
|
|
@ -376,7 +381,7 @@ class ZipArchive(object):
|
|
|
|
self._files_in_archive = []
|
|
|
|
self._files_in_archive = []
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
archive = ZipFile(self.src)
|
|
|
|
archive = ZipFile(self.src)
|
|
|
|
except BadZipfile as e:
|
|
|
|
except BadZipFile as e:
|
|
|
|
if e.args[0].lower().startswith('bad magic number'):
|
|
|
|
if e.args[0].lower().startswith('bad magic number'):
|
|
|
|
# Python2.4 can't handle zipfiles with > 64K files. Try using
|
|
|
|
# Python2.4 can't handle zipfiles with > 64K files. Try using
|
|
|
|
# /usr/bin/unzip instead
|
|
|
|
# /usr/bin/unzip instead
|
|
|
|