0
|
1
|
|
2 """
|
|
3 GSV visualisation datatypes
|
|
4 """
|
|
5
|
|
6
|
|
7 import logging, os, os.path, sys, time, tempfile, shutil, string, glob, re
|
|
8
|
|
9 from galaxy.datatypes.sniff import *
|
|
10 from galaxy.datatypes import data
|
|
11 from galaxy.datatypes.metadata import MetadataElement
|
|
12 from galaxy.datatypes.xml import GenericXml
|
|
13
|
|
14 log = logging.getLogger(__name__)
|
|
15
|
|
16 class GenericMapJson( data.Text ):
|
|
17 """Base format class for any JSON file."""
|
|
18 file_ext = "mapjson"
|
|
19
|
|
20 def set_peek( self, dataset, is_multi_byte=False ):
|
|
21 """Set the peek and blurb text"""
|
|
22 if not dataset.dataset.purged:
|
|
23 dataset.peek = data.get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte )
|
|
24 dataset.blurb = 'Mapjson data'
|
|
25 else:
|
|
26 dataset.peek = 'file does not exist'
|
|
27 dataset.blurb = 'file purged from disk'
|
|
28
|
|
29 def sniff( self, filename ):
|
|
30 """
|
|
31 Determines whether the file is JSON or not
|
|
32
|
|
33 >>> fname = get_test_fname( 'megablast_xml_parser_test1.blastxml' )
|
|
34 >>> GenericMapJson().sniff( fname )
|
|
35 True
|
|
36 >>> fname = get_test_fname( 'interval.interval' )
|
|
37 >>> GenericMapJson().sniff( fname )
|
|
38 False
|
|
39 """
|
|
40 #TODO - Use a context manager on Python 2.5+ to close handle
|
|
41 handle = open(filename)
|
|
42 line = handle.readline()
|
|
43 handle.close()
|
|
44
|
|
45
|
|
46 class Gjson( GenericMapJson ):
|
|
47 """
|
|
48 Resource Description Framework format (http://www.w3.org/RDF/).
|
|
49 """
|
|
50 file_ext = "gjson"
|
|
51
|
|
52 def sniff( self, filename ):
|
|
53 """
|
|
54 Returns false and the user must manually set.
|
|
55 """
|
|
56 return False
|
|
57
|
|
58 def set_peek( self, dataset, is_multi_byte=False ):
|
|
59 """Set the peek and blurb text"""
|
|
60 if not dataset.dataset.purged:
|
|
61 dataset.peek = data.get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte )
|
|
62 dataset.blurb = 'GJSON data'
|
|
63 else:
|
|
64 dataset.peek = 'file does not exist'
|
|
65 dataset.blurb = 'file purged from disk'
|
|
66
|