feature: sol004 and sol007
Change-Id: Ib4c4656f3660011a0f1ee80e4903a31958068be5
Signed-off-by: bravof <fbravo@whitestack.com>
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/osm_common/fslocal.py b/osm_common/fslocal.py
index 4a82c4f..ae22c6a 100644
--- a/osm_common/fslocal.py
+++ b/osm_common/fslocal.py
@@ -16,6 +16,8 @@
# limitations under the License.
import os
+import tarfile
+import zipfile
import logging
# import tarfile
@@ -116,10 +118,10 @@
f = "/".join(storage)
return os.path.getsize(self.path + f)
- def file_extract(self, tar_object, path):
+ def file_extract(self, compressed_object, path):
"""
extract a tar file
- :param tar_object: object of type tar
+ :param compressed_object: object of type tar or zip
:param path: can be a str or a str list, or a tar object where to extract the tar_object
:return: None
"""
@@ -127,7 +129,13 @@
f = self.path + path
else:
f = self.path + "/".join(path)
- tar_object.extractall(path=f)
+
+ if type(compressed_object) is tarfile.TarFile:
+ compressed_object.extractall(path=f)
+ elif (
+ type(compressed_object) is zipfile.ZipFile
+ ): # Just a check to know if this works with both tar and zip
+ compressed_object.extractall(path=f)
def file_open(self, storage, mode):
"""