Repository: ambari
Updated Branches:
  refs/heads/trunk 91155b152 -> 2d56dcb6c


AMBARI-21812. Installing mpack with .tgz extension fails with global name 
'path' is not defined (amagyar)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2d56dcb6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2d56dcb6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2d56dcb6

Branch: refs/heads/trunk
Commit: 2d56dcb6c06cce42e5f50427a51c551f7dc667a1
Parents: 91155b1
Author: Attila Magyar <amag...@hortonworks.com>
Authored: Tue Aug 29 09:33:07 2017 +0200
Committer: Attila Magyar <amag...@hortonworks.com>
Committed: Tue Aug 29 09:33:07 2017 +0200

----------------------------------------------------------------------
 .../libraries/functions/tar_archive.py          | 24 ++++++++------------
 1 file changed, 10 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/2d56dcb6/ambari-common/src/main/python/resource_management/libraries/functions/tar_archive.py
----------------------------------------------------------------------
diff --git 
a/ambari-common/src/main/python/resource_management/libraries/functions/tar_archive.py
 
b/ambari-common/src/main/python/resource_management/libraries/functions/tar_archive.py
index c682c3e..e6d8924 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/functions/tar_archive.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/functions/tar_archive.py
@@ -57,25 +57,21 @@ def untar_archive(archive, directory):
   )
 
 def extract_archive(archive, directory):
-  if archive.endswith('.tar.gz') or path.endswith('.tgz'):
-    mode = 'r:gz'
-  elif archive.endswith('.tar.bz2') or path.endswith('.tbz'):
-    mode = 'r:bz2'
-  else:
-    raise ValueError, "Could not extract `%s` as no appropriate extractor is 
found" % path
-  with closing(tarfile.open(archive, mode)) as tar:
+  with closing(tarfile.open(archive, mode(archive))) as tar:
     tar.extractall(directory)
 
 def get_archive_root_dir(archive):
-  if archive.endswith('.tar.gz') or path.endswith('.tgz'):
-    mode = 'r:gz'
-  elif archive.endswith('.tar.bz2') or path.endswith('.tbz'):
-    mode = 'r:bz2'
-  else:
-    raise ValueError, "Could not extract `%s` as no appropriate extractor is 
found" % path
   root_dir = None
-  with closing(tarfile.open(archive, mode)) as tar:
+  with closing(tarfile.open(archive, mode(archive))) as tar:
     names = tar.getnames()
     if names:
       root_dir = os.path.commonprefix(names)
   return root_dir
+
+def mode(archive):
+  if archive.endswith('.tar.gz') or archive.endswith('.tgz'):
+    return 'r:gz'
+  elif archive.endswith('.tar.bz2') or archive.endswith('.tbz'):
+    return 'r:bz2'
+  else:
+    raise ValueError("Could not extract `%s` as no appropriate extractor is 
found" % archive)
\ No newline at end of file

Reply via email to