annotate no_unzip_datatypes.py @ 0:12afb0ecb55f draft

Uploaded
author lecorguille
date Tue, 30 Jun 2015 05:36:05 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
1 # -*- coding: utf-8 -*-
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
2 """
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
3 no_unzip_datatypes
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
4
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
5 A perfect clone of the prims masscomb datatype FileSet
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
6 """
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
7
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
8 import logging
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
9 import zipfile
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
10 import os,os.path,re
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
11 from galaxy.datatypes.data import *
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
12 from galaxy.datatypes.xml import *
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
13 from galaxy.datatypes.sniff import *
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
14 from galaxy.datatypes.binary import *
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
15 from galaxy.datatypes.interval import *
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
16
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
17 log = logging.getLogger(__name__)
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
18
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
19
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
20 class NoUnzip( Binary ):
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
21 """FileSet containing N files"""
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
22 file_ext = "no_unzip.zip"
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
23 blurb = "(zipped) FileSet containing multiple files"
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
24
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
25 def sniff( self, filename ):
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
26 # If the zip file contains multiple files then return true, false otherwise:
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
27 zf = zipfile.ZipFile(filename)
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
28 if (len(zf.infolist())>1):
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
29 return True
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
30 else :
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
31 return False
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
32
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
33
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
34 # the if is just for backwards compatibility...could remove this at some point
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
35 if hasattr(Binary, 'register_sniffable_binary_format'):
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
36 Binary.register_sniffable_binary_format('NoUnzip', 'no_unzip.zip', NoUnzip)
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
37
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
38
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
39
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
40
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
41
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
42
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
43
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
44
12afb0ecb55f Uploaded
lecorguille
parents:
diff changeset
45