projects
/
osm
/
common.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feature: sol004 and sol007
[osm/common.git]
/
osm_common
/
fslocal.py
diff --git
a/osm_common/fslocal.py
b/osm_common/fslocal.py
index
4a82c4f
..
ae22c6a
100644
(file)
--- a/
osm_common/fslocal.py
+++ b/
osm_common/fslocal.py
@@
-16,6
+16,8
@@
# limitations under the License.
import os
# limitations under the License.
import os
+import tarfile
+import zipfile
import logging
# import tarfile
import logging
# import tarfile
@@
-116,10
+118,10
@@
class FsLocal(FsBase):
f = "/".join(storage)
return os.path.getsize(self.path + f)
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
"""
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
"""
: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
@@
class FsLocal(FsBase):
f = self.path + path
else:
f = self.path + "/".join(path)
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):
"""
def file_open(self, storage, mode):
"""