changeset 3:632c50fe83ba draft default tip

planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/scrappie commit d8cc434bd1704b2834f89b7d91370f356e3ac85a
author jdv
date Tue, 03 Oct 2017 21:50:49 -0400
parents b4721d6ecae2
children
files scrappie_raw.py
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/scrappie_raw.py	Fri Sep 08 11:17:48 2017 -0400
+++ b/scrappie_raw.py	Tue Oct 03 21:50:49 2017 -0400
@@ -2,7 +2,6 @@
 
 import sys, os
 import glob
-import tarfile
 import subprocess
 import shutil
 import h5py
@@ -29,8 +28,15 @@
         if not os.path.exists(in_dir):
             os.makedirs(in_dir)
 
-        tar = tarfile.open(fn, mode='r')
-        tar.extractall(path=in_dir)
+        # python's tarfile interface does not sanitize file paths within
+        # tarballs, which can be a big security risk. GNU tar does sanitize by
+        # default, so it's easier/safer here just to call the system tar
+        subprocess.call([
+            "tar",
+            "-xf",
+            fn,
+            "-C",
+            in_dir])
 
         files = glob.glob(
             os.path.join(in_dir, "**", "*.fast5"),