diff --git a/config/datatypes_conf.xml.sample b/config/datatypes_conf.xml.sample index 802484d964b..9495f1637fd 100644 --- a/config/datatypes_conf.xml.sample +++ b/config/datatypes_conf.xml.sample @@ -145,7 +145,7 @@ - + diff --git a/lib/galaxy/datatypes/binary.py b/lib/galaxy/datatypes/binary.py index 65bb18e6f47..265f8e440f2 100644 --- a/lib/galaxy/datatypes/binary.py +++ b/lib/galaxy/datatypes/binary.py @@ -146,6 +146,31 @@ class CompressedArchive( Binary ): Binary.register_unsniffable_binary_ext("compressed_archive") +class CompressedZipArchive( CompressedArchive ): + """ + Class describing an compressed binary file + This class can be sublass'ed to implement archive filetypes that will not be unpacked by upload.py. + """ + file_ext = "zip" + + def set_peek( self, dataset, is_multi_byte=False ): + if not dataset.dataset.purged: + dataset.peek = "Compressed zip file" + dataset.blurb = nice_size( dataset.get_size() ) + else: + dataset.peek = 'file does not exist' + dataset.blurb = 'file purged from disk' + + def display_peek( self, dataset ): + try: + return dataset.peek + except: + return "Compressed zip file (%s)" % ( nice_size( dataset.get_size() ) ) + + +Binary.register_unsniffable_binary_ext("zip") + + class GenericAsn1Binary( Binary ): """Class for generic ASN.1 binary format""" file_ext = "asn1-binary"