comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:d6001e8d7441
1 """
2 PRIMS masscomb classes for types defined in datatypes_conf.xml
3 """
4 import logging
5 import zipfile
6 import re
7 from galaxy.datatypes.data import *
8 from galaxy.datatypes.xml import *
9 from galaxy.datatypes.sniff import *
10 from galaxy.datatypes.binary import *
11 from galaxy.datatypes.interval import *
12
13 log = logging.getLogger(__name__)
14
15 class FileSet( Binary ):
16 """FileSet containing N files"""
17 file_ext = "prims.fileset.zip"
18 blurb = "(zipped) FileSet containing multiple files"
19 def sniff( self, filename ):
20 # If the zip file contains multiple files then return true, false otherwise:
21 zf = zipfile.ZipFile(filename)
22 if (len(zf.infolist())>1):
23 return True
24 else :
25 return False
26
27 # the if is just for backwards compatibility...could remove this at some point
28 if hasattr(Binary, 'register_sniffable_binary_format'):
29 Binary.register_sniffable_binary_format('FileSet', 'prims.fileset.zip', FileSet)