[bazel] Introduce a "py_import" rule, analogous to "java_import"
This allows us to use wheels and other tar.gz third party libraries in
our python code. This will prove useful.
Cr-Mirrored-From: https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium
Cr-Mirrored-Commit: 6681d50936e832c87373b63bed3c834876acc3ac
diff --git a/untar.py b/untar.py
new file mode 100644
index 0000000..b1fa50e
--- /dev/null
+++ b/untar.py
@@ -0,0 +1,26 @@
+import os
+import sys
+import tarfile
+
+if __name__ == '__main__':
+ outdir = sys.argv[2]
+ if not os.path.exists(outdir):
+ os.makedirs(outdir)
+
+ tar = tarfile.open(sys.argv[1])
+ for member in tar.getmembers():
+ parts = member.name.split("/")
+ parts.pop(0)
+ if not len(parts):
+ continue
+
+ basepath = os.path.join(*parts)
+ basepath = os.path.normpath(basepath)
+ member.name = basepath
+
+ dir = os.path.join(outdir, os.path.dirname(basepath))
+ if not os.path.exists(dir):
+ os.makedirs(dir)
+
+ tar.extract(member, outdir)
+ tar.close()