diff prims_masscomb_datatypes.py @ 0:d6001e8d7441

Push to main toolshed
author pieter.lukasse@wur.nl
date Wed, 08 Jan 2014 11:34:51 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/prims_masscomb_datatypes.py	Wed Jan 08 11:34:51 2014 +0100
@@ -0,0 +1,29 @@
+"""
+PRIMS masscomb classes for types defined in datatypes_conf.xml
+"""
+import logging
+import zipfile
+import re
+from galaxy.datatypes.data import *
+from galaxy.datatypes.xml import *
+from galaxy.datatypes.sniff import *
+from galaxy.datatypes.binary import *
+from galaxy.datatypes.interval import *
+
+log = logging.getLogger(__name__)
+
+class FileSet( Binary ):
+    """FileSet containing N files"""
+    file_ext = "prims.fileset.zip"
+    blurb = "(zipped) FileSet containing multiple files"
+    def sniff( self, filename ):
+        # If the zip file contains multiple files then return true, false otherwise: 
+        zf = zipfile.ZipFile(filename)
+        if (len(zf.infolist())>1):
+            return True
+        else :
+            return False
+
+# the if is just for backwards compatibility...could remove this at some point
+if hasattr(Binary, 'register_sniffable_binary_format'):
+    Binary.register_sniffable_binary_format('FileSet', 'prims.fileset.zip', FileSet)