0
|
1 # -*- coding: utf-8 -*-
|
|
2
|
|
3 from galaxy.datatypes.data import Text
|
|
4 from galaxy.datatypes.data import get_file_peek
|
|
5 import json
|
|
6 import os
|
|
7
|
|
8 class Json( Text ):
|
|
9 file_ext = "json"
|
|
10
|
|
11 def set_peek( self, dataset, is_multi_byte=False ):
|
|
12 if not dataset.dataset.purged:
|
|
13 dataset.peek = get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte )
|
|
14 dataset.blurb = "JavaScript Object Notation (JSON)"
|
|
15 else:
|
|
16 dataset.peek = 'file does not exist'
|
|
17 dataset.blurb = 'file purged from disc'
|
|
18
|
|
19 def sniff( self, filename ):
|
|
20 """
|
|
21 Try to load the string with the json module. If successful it's a json file.
|
|
22 """
|
|
23 try:
|
1
|
24 json.load( open(filename) )
|
0
|
25 return True
|
|
26 except:
|
1
|
27 return True
|
0
|
28
|
|
29 def set_meta( self, dataset, **kwd ):
|
|
30 """
|
|
31
|
|
32 Set the number of models in dataset.
|
|
33 """
|
|
34 pass
|
|
35
|
|
36
|