annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
1 """
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
2 PRIMS masscomb classes for types defined in datatypes_conf.xml
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
3 """
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
4 import logging
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
5 import zipfile
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
6 import re
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
7 from galaxy.datatypes.data import *
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
8 from galaxy.datatypes.xml import *
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
9 from galaxy.datatypes.sniff import *
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
10 from galaxy.datatypes.binary import *
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
11 from galaxy.datatypes.interval import *
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
12
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
13 log = logging.getLogger(__name__)
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
14
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
15 class FileSet( Binary ):
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
16 """FileSet containing N files"""
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
17 file_ext = "prims.fileset.zip"
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
18 blurb = "(zipped) FileSet containing multiple files"
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
19 def sniff( self, filename ):
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
20 # If the zip file contains multiple files then return true, false otherwise:
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
21 zf = zipfile.ZipFile(filename)
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
22 if (len(zf.infolist())>1):
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
23 return True
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
24 else :
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
25 return False
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
26
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
27 # the if is just for backwards compatibility...could remove this at some point
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
28 if hasattr(Binary, 'register_sniffable_binary_format'):
d6001e8d7441 Push to main toolshed
pieter.lukasse@wur.nl
parents:
diff changeset
29 Binary.register_sniffable_binary_format('FileSet', 'prims.fileset.zip', FileSet)