view prims_masscomb_datatypes.py @ 6:2864d8797260

new experimental tool
author pieter.lukasse@wur.nl
date Fri, 24 Jan 2014 16:03:08 +0100
parents d6001e8d7441
children
line wrap: on
line source

"""
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)