1 | import collections, os, sys |
---|
2 | nt__charmeEnable = collections.namedtuple( 'charme', ['id','site'] ) |
---|
3 | |
---|
4 | try: |
---|
5 | import dreq |
---|
6 | import vrev |
---|
7 | import misc_utils |
---|
8 | import rvgExtraTable |
---|
9 | import volsum |
---|
10 | import table_utils |
---|
11 | except: |
---|
12 | import dreqPy.volsum as volsum |
---|
13 | import dreqPy.dreq as dreq |
---|
14 | import dreqPy.vrev as vrev |
---|
15 | import dreqPy.misc_utils as misc_utils |
---|
16 | import dreqPy.table_utils as table_utils |
---|
17 | import dreqPy.rvgExtraTable as rvgExtraTable |
---|
18 | |
---|
19 | def realmFlt( ss ): |
---|
20 | if ss == '': |
---|
21 | return ss |
---|
22 | if ss.find( ' ' ) == -1: |
---|
23 | return ss |
---|
24 | return ss.split( ' ' )[0] |
---|
25 | |
---|
26 | python2 = True |
---|
27 | if sys.version_info[0] == 3: |
---|
28 | python2 = False |
---|
29 | def cmp(x,y): |
---|
30 | if x == y: |
---|
31 | return 0 |
---|
32 | elif x > y: |
---|
33 | return 1 |
---|
34 | else: |
---|
35 | return -1 |
---|
36 | |
---|
37 | setMlab = misc_utils.setMlab |
---|
38 | |
---|
39 | #priority long name units comment questions & notes output variable name standard name unconfirmed or proposed standard name unformatted units cell_methods valid min valid max mean absolute min mean absolute max positive type CMOR dimensions CMOR variable name realm frequency cell_measures flag_values flag_meanings |
---|
40 | |
---|
41 | strkeys = [u'procNote', u'uid', u'odims', u'flag_meanings', u'prov', u'title', u'tmid', u'label', u'cell_methods', u'coords', u'cell_measures', u'spid', u'flag_values', u'description'] |
---|
42 | |
---|
43 | ntstr = collections.namedtuple( 'ntstr', strkeys ) |
---|
44 | |
---|
45 | class cmpd(object): |
---|
46 | def __init__(self,k): |
---|
47 | self.k = k |
---|
48 | def cmp(self,x,y): |
---|
49 | return cmp( x.__dict__[self.k], y.__dict__[self.k] ) |
---|
50 | |
---|
51 | class cmpd2(object): |
---|
52 | def __init__(self,k1,k2): |
---|
53 | self.k1 = k1 |
---|
54 | self.k2 = k2 |
---|
55 | def cmp(self,x,y): |
---|
56 | if x.__dict__[self.k1] == y.__dict__[self.k1]: |
---|
57 | return cmp( x.__dict__[self.k2], y.__dict__[self.k2] ) |
---|
58 | else: |
---|
59 | return cmp( x.__dict__[self.k1], y.__dict__[self.k1] ) |
---|
60 | |
---|
61 | class cmpdn(object): |
---|
62 | def __init__(self,kl): |
---|
63 | self.kl = kl |
---|
64 | def cmp(self,x,y): |
---|
65 | for k in self.kl: |
---|
66 | if x.__dict__[k] != y.__dict__[k]: |
---|
67 | return cmp( x.__dict__[k], y.__dict__[k] ) |
---|
68 | |
---|
69 | return cmp( 0,0 ) |
---|
70 | |
---|
71 | import re |
---|
72 | |
---|
73 | class makePurl(object): |
---|
74 | def __init__(self): |
---|
75 | c1 = re.compile( '^[a-zA-Z][a-zA-Z0-9]*$' ) |
---|
76 | mv = dq.coll['var'].items |
---|
77 | oo = open( 'htmlRewrite.txt', 'w' ) |
---|
78 | for v in mv: |
---|
79 | if c1.match( v.label ): |
---|
80 | oo.write( 'RewriteRule ^%s$ http://clipc-services.ceda.ac.uk/dreq/u/%s.html\n' % (v.label,v.uid) ) |
---|
81 | else: |
---|
82 | print ('Match failed: %s' % v.label ) |
---|
83 | oo.close() |
---|
84 | |
---|
85 | |
---|
86 | hdr = """ |
---|
87 | function f000(value) { return (value + "").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">") }; |
---|
88 | |
---|
89 | function formatter00(row, cell, value, columnDef, dataContext) { |
---|
90 | var vv = value.split(" "); |
---|
91 | return '<b><a href="u/' + vv[1] + '.html">' + (vv[0] + " ").replace(/&/g,"&") + '</a></b>, '; |
---|
92 | }; |
---|
93 | function formatter01(row, cell, value, columnDef, dataContext) { return '<i>' + f000(value) + '</i> ' }; |
---|
94 | function formatter02(row, cell, value, columnDef, dataContext) { return '[' + f000(value) + '] ' }; |
---|
95 | function formatter03(row, cell, value, columnDef, dataContext) { if (value != "'unset'" ) { return '(' + f000(value) + ') ' } else {return ''} }; |
---|
96 | function formatter04(row, cell, value, columnDef, dataContext) { return '{' + f000(value) + '} ' }; |
---|
97 | function formatter05(row, cell, value, columnDef, dataContext) { return '<' + f000(value) + '> ' }; |
---|
98 | |
---|
99 | var getData = { |
---|
100 | cols: function() { |
---|
101 | var columns = [ {id:0, name:'Variable', field:0, width: 100, formatter:formatter00 }, |
---|
102 | {id:1, name:'Standard name', field:1, width: 210, formatter:formatter01 }, |
---|
103 | {id:2, name:'Long name', field:2, width: 180, formatter:formatter02}, |
---|
104 | {id:3, name:'Units', field:3, width: 180, formatter:formatter03}, |
---|
105 | {id:4, name:'Description', field:4, width: 180, formatter:formatter04}, |
---|
106 | {id:5, name:'uid', field:5, width: 180, formatter:formatter05}]; |
---|
107 | return columns; |
---|
108 | }, |
---|
109 | |
---|
110 | data: function() { |
---|
111 | var data = []; |
---|
112 | """ |
---|
113 | ftr = """return data; |
---|
114 | } |
---|
115 | }; |
---|
116 | """ |
---|
117 | ##rtmpl = 'data[%(n)s] = { "id":%(n)s, 0:"%(var)s", 1:"%(sn)s", 2:"%(ln)s", 3:"%(u)s", 4:"%(uid)s" };' |
---|
118 | rtmpl = 'data[%(n)s] = { "id":%(n)s, 0:"%(var)s", 1:"%(sn)s", 2:"%(ln)s", 3:"%(u)s", 4:"%(d)s", 5:"%(uid)s" };' |
---|
119 | |
---|
120 | class htmlTrees(object): |
---|
121 | def __init__(self,dq,odir='html/t/'): |
---|
122 | self.dq = dq |
---|
123 | self.odir = odir |
---|
124 | self.c = vrev.checkVar( dq ) |
---|
125 | self.anno = {} |
---|
126 | for v in dq.coll['var'].items: |
---|
127 | self.makeTree( v ) |
---|
128 | |
---|
129 | def makeTree( self, v ): |
---|
130 | ee = self.c.chk2( v.label ) |
---|
131 | if len(ee.keys()) > 0: |
---|
132 | title = 'Usage tree for %s' % v.label |
---|
133 | bdy = ['<h1>%s</h1>' % title, ] |
---|
134 | bdy.append( '<html><head></head><body>\n' ) |
---|
135 | bdy.append( '<ul>\n' ) |
---|
136 | for k in sorted( ee.keys() ): |
---|
137 | l1, xx = ee[k] |
---|
138 | lx = list( xx ) |
---|
139 | if len( lx ) == 0: |
---|
140 | bdy.append( '<li>%s: Empty</li>\n' % l1 ) |
---|
141 | else: |
---|
142 | bdy.append( '<li>%s:\n<ul>' % l1 ) |
---|
143 | for x in lx: |
---|
144 | bdy.append( '<li>%s</li>\n' % x ) |
---|
145 | bdy.append( '</ul></li>\n' ) |
---|
146 | bdy.append( '</ul></body></html>\n' ) |
---|
147 | oo = open( '%s/%s.html' % (self.odir,v.label), 'w' ) |
---|
148 | oo.write( dq.pageTmpl % ( title, '', '../', '../index.html', '\n'.join( bdy ) ) ) |
---|
149 | oo.close() |
---|
150 | self.anno[v.label] = '<a href="../t/%s.html">Usage</a>' % v.label |
---|
151 | else: |
---|
152 | self.anno[v.label] = 'Unused' |
---|
153 | |
---|
154 | |
---|
155 | class makeJs(object): |
---|
156 | def __init__(self,dq): |
---|
157 | n = 0 |
---|
158 | rl = [] |
---|
159 | for v in dq.coll['var'].items: |
---|
160 | if 'CMORvar' in dq.inx.iref_by_sect[v.uid].a and len(dq.inx.iref_by_sect[v.uid].a['CMORvar'] ) > 0: |
---|
161 | var = '%s %s' % (v.label,v.uid) |
---|
162 | sn = v.sn |
---|
163 | ln = v.title |
---|
164 | u = v.units |
---|
165 | d = v.description |
---|
166 | uid = v.uid |
---|
167 | d = locals() |
---|
168 | for k in ['sn','ln','u','var','d']: |
---|
169 | |
---|
170 | if d[k].find( '"' ) != -1: |
---|
171 | print ( "WARNING ... quote in %s .. %s [%s]" % (k,var,d[k]) ) |
---|
172 | d[k] = d[k].replace( '"', "'" ) |
---|
173 | print ( d[k] ) |
---|
174 | |
---|
175 | rr = rtmpl % d |
---|
176 | rl.append( rr ) |
---|
177 | n += 1 |
---|
178 | oo = open( 'data3.js', 'w' ) |
---|
179 | oo.write( hdr ) |
---|
180 | for r in rl: |
---|
181 | oo.write( r + '\n' ) |
---|
182 | oo.write( ftr ) |
---|
183 | oo.close() |
---|
184 | |
---|
185 | class styles(object): |
---|
186 | def __init__(self): |
---|
187 | pass |
---|
188 | |
---|
189 | def rqvLink01(self,targ,frm='',ann=''): |
---|
190 | if targ._h.label == 'remarks': |
---|
191 | return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.title), "Link to request variable broken" ) |
---|
192 | elif frm != "CMORvar": |
---|
193 | cmv = targ._inx.uid[ targ.vid ] |
---|
194 | if targ._h.label == 'remarks': |
---|
195 | return '<li>%s [%s]: %s</li>' % ( cmv.label, targ.__href__(odir='../u/',label=targ.priority) , 'Variable not defined or not found' ) |
---|
196 | else: |
---|
197 | ng = len( targ._inx.iref_by_sect[cmv.uid].a['requestVar'] ) |
---|
198 | nv = len( targ._inx.iref_by_sect[cmv.vid].a['CMORvar'] ) |
---|
199 | return '<li>%s.%s [%s]: %s {groups: %s, vars: %s}</li>' % ( cmv.label,cmv.mipTable, targ.__href__(odir='../u/',label=targ.priority) , cmv.__href__(odir='../u/',label=cmv.title), ng, nv ) |
---|
200 | else: |
---|
201 | rg = targ._inx.uid[ targ.vgid ] |
---|
202 | if targ._h.label == 'remarks': |
---|
203 | return '<li>%s [%s]: %s</li>' % ( targ.label, targ.__href__(label=targ.priority) , 'Link not defined or not found' ) |
---|
204 | elif rg._h.label == 'remarks': |
---|
205 | return '<li>%s [%s]: %s</li>' % ( rg.label, targ.__href__(label=targ.priority) , 'Group not defined or not found' ) |
---|
206 | else: |
---|
207 | return '<li>%s [%s]: %s</li>' % ( rg.label, targ.__href__(label=targ.priority) , rg.__href__(label=rg.mip) ) |
---|
208 | |
---|
209 | def snLink01(self,a,targ,frm='',ann=''): |
---|
210 | if targ._h.label == 'remarks': |
---|
211 | return '<li>%s: Standard name under review [%s]</li>' % ( a, targ.__href__() ) |
---|
212 | else: |
---|
213 | return '<li>%s [%s]: %s</li>' % ( targ._h.title, a, targ.__href__(label=targ.label) ) |
---|
214 | |
---|
215 | def stidLink01(self,a,targ,frm='',ann=''): |
---|
216 | if targ._h.label == 'remarks': |
---|
217 | return '<li>%s: Broken link to structure [%s]</li>' % ( a, targ.__href__() ) |
---|
218 | else: |
---|
219 | return '<li>%s [%s]: %s [%s]</li>' % ( targ._h.title, a, targ.__href__(label=targ.title), targ.label ) |
---|
220 | |
---|
221 | def rqlLink02(self,targ,frm='',ann=''): |
---|
222 | t2 = targ._inx.uid[targ.refid] |
---|
223 | if t2._h.label == 'remarks': |
---|
224 | return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.title), "Link to variable group broken" ) |
---|
225 | elif frm == "requestVarGroup": |
---|
226 | return '<li>%s: %s [%s]</li>' % ( targ.__href__(odir='../u/', label=targ.mip), targ.title, targ.objective ) |
---|
227 | else: |
---|
228 | gpsz = len(t2._inx.iref_by_sect[t2.uid].a['requestVar']) |
---|
229 | return '<li>%s: Link to group: %s [%s]</li>' % ( targ.__href__(odir='../u/', label='%s:%s' % (targ.mip,targ.title)), t2.__href__(odir='../u/', label=t2.title), gpsz ) |
---|
230 | |
---|
231 | def rqiLink02(self,targ,frm='',ann=''): |
---|
232 | t2 = targ._inx.uid[targ.rlid] |
---|
233 | if t2._h.label == 'remarks': |
---|
234 | return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.title), "Link to request link broken" ) |
---|
235 | else: |
---|
236 | t3 = t2._inx.uid[t2.refid] |
---|
237 | if t3._h.label == 'remarks': |
---|
238 | return '<li>%s [%s]: %s</li>' % ( targ.__href__(odir='../u/', label=targ.title), t2.__href__(odir='../u/', label=t2.title),"Link to request group broken" ) |
---|
239 | else: |
---|
240 | nv = len( t3._inx.iref_by_sect[t3.uid].a['requestVar'] ) |
---|
241 | return '<li>%s [%s]: %s (%s variables)</li>' % ( targ.__href__(odir='../u/', label=targ.title), t2.__href__(odir='../u/', label=t2.title), t3.__href__(odir='../u/', label=t3.title), nv ) |
---|
242 | |
---|
243 | def snLink(self,targ,frm='',ann=''): |
---|
244 | return '<li>%s [%s]: %s</li>' % ( targ.title, targ.units, targ.__href__(odir='../u/') ) |
---|
245 | |
---|
246 | def varLink(self,targ,frm='',ann=''): |
---|
247 | return '<li>%s: %s [%s]%s</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.title, targ.units, ann ) |
---|
248 | |
---|
249 | def mipLink(self,targ,frm='',ann=''): |
---|
250 | if targ.url != '': |
---|
251 | return '<li>%s: %s <a href="%s">[project site]</a></li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.title, targ.url ) |
---|
252 | else: |
---|
253 | return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.title ) |
---|
254 | |
---|
255 | def cmvLink(self,targ,frm='',ann=''): |
---|
256 | t2 = targ._inx.uid[targ.stid] |
---|
257 | if 'requestVar' in targ._inx.iref_by_sect[targ.uid].a: |
---|
258 | nrq = len( targ._inx.iref_by_sect[targ.uid].a['requestVar'] ) |
---|
259 | else: |
---|
260 | nrq = 'unused' |
---|
261 | return '<li>%s {%s}: %s [%s: %s] (%s)</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.mipTable, targ.title, targ.frequency, t2.title, nrq ) |
---|
262 | |
---|
263 | def objLink(self,targ,frm='',ann=''): |
---|
264 | return '<li>%s: %s</li>' % ( targ.label, targ.__href__(odir='../u/', label=targ.title,title=targ.description) ) |
---|
265 | |
---|
266 | def unitLink(self,targ,frm='',ann=''): |
---|
267 | return '<li>%s [%s]: %s</li>' % ( targ.text, targ.label, targ.__href__(odir='../u/', label=targ.title) ) |
---|
268 | |
---|
269 | def strLink(self,targ,frm='',ann=''): |
---|
270 | sz0 = len(targ._inx.iref_by_sect[targ.uid].a['CMORvar']) |
---|
271 | sz1 = 0 |
---|
272 | if sz0 > 0: |
---|
273 | for u in targ._inx.iref_by_sect[targ.uid].a['CMORvar']: |
---|
274 | sz1 += len( targ._inx.iref_by_sect[u].a['requestVar'] ) |
---|
275 | return '<li>%s: %s [%s/%s]</li>' % ( targ.label, targ.__href__(odir='../u/', label=targ.title), sz0, sz1 ) |
---|
276 | |
---|
277 | def remarkLink(self,targ,frm='',ann=''): |
---|
278 | if 'tid' in targ.__dict__ and targ.tid in targ._inx.uid: |
---|
279 | ii = targ._inx.uid[ targ.tid ] |
---|
280 | return '<li>%s.%s [%s]: %s</li>' % ( ii._h.label, targ.tattr, ii.label, targ.__href__(odir='../u/', label=targ.uid) ) |
---|
281 | else: |
---|
282 | return '<li>%s [%s]: %s</li>' % ( targ.label, targ.tattr, targ.__href__(odir='../u/', label=targ.uid) ) |
---|
283 | |
---|
284 | def cmLink(self,targ,frm='',ann=''): |
---|
285 | sz0 = len(targ._inx.iref_by_sect[targ.uid].a['structure']) |
---|
286 | sz1 = 0 |
---|
287 | if sz0 > 0: |
---|
288 | for id in targ._inx.iref_by_sect[targ.uid].a['structure']: |
---|
289 | sz1 += len(targ._inx.iref_by_sect[id].a['CMORvar']) |
---|
290 | return '<li>%s [%s]: %s {%s/%s}</li>' % ( targ.cell_methods,targ.label, targ.__href__(odir='../u/', label=targ.title),sz0,sz1 ) |
---|
291 | |
---|
292 | def objLnkLink(self,targ,frm='',ann=''): |
---|
293 | if frm == 'objective': |
---|
294 | t2 = targ._inx.uid[targ.rid] |
---|
295 | t3 = targ._inx.uid[t2.refid] |
---|
296 | thislab = '%s (%s)' % (t2.mip,t3.label) |
---|
297 | return '<li>%s: %s</li>' % ( t2.title, t2.__href__(odir='../u/',label=thislab) ) |
---|
298 | else: |
---|
299 | t2 = targ._inx.uid[targ.oid] |
---|
300 | return '<li>%s: %s</li>' % ( t2.label, t2.__href__(odir='../u/',label=t2.title) ) |
---|
301 | |
---|
302 | def labTtl(self,targ,frm='',ann=''): |
---|
303 | return '<li>%s: %s</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.title ) |
---|
304 | |
---|
305 | def vgrpLink(self,targ,frm='',ann=''): |
---|
306 | gpsz = len(targ._inx.iref_by_sect[targ.uid].a['requestVar']) |
---|
307 | nlnk = len(targ._inx.iref_by_sect[targ.uid].a['requestLink']) |
---|
308 | return '<li>%s {%s}: %s variables, %s request links</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.mip, gpsz, nlnk ) |
---|
309 | |
---|
310 | def miptableLink(self,targ,frm='',ann=''): |
---|
311 | sz = len(targ._inx.iref_by_sect[targ.uid].a['CMORvar']) |
---|
312 | return '<li>%s:%s [%s] (%s variables)</li>' % ( targ.__href__(odir='../u/', label=targ.label), targ.title, targ.frequency, sz ) |
---|
313 | |
---|
314 | def obsolete_getTable(sc,m,m2,pmax,odsz,npy,odir='d1',txt=False,xls=False,txtOpts=None): |
---|
315 | """replaces tables.getTable( self, m,m2,pmax,odsz,npy)""" |
---|
316 | ## |
---|
317 | ## this creates a new instance, and calls doTable .... |
---|
318 | ## very messy ... |
---|
319 | ## |
---|
320 | vs = volsum.vsum( sc, odsz, npy, table_utils.makeTab, tables ) |
---|
321 | mlab = setMlab( m ) |
---|
322 | vs.run( m, 'requestVol_%s_%s_%s' % (mlab,sc.tierMax,pmax), pmax=pmax ) |
---|
323 | |
---|
324 | |
---|
325 | ## collected=summed volumes by table for first page. |
---|
326 | table_utils.makeTab( sc.dq, subset=vs.thiscmvset, dest='%s/%s-%s_%s_%s' % (odir,mlab,mlab2,sc.tierMax,pmax), collected=collector[kkc].a, |
---|
327 | mcfgNote=sc.mcfgNote, |
---|
328 | txt=doTxt, xls=doXls, txtOpts=txtOpts ) |
---|
329 | |
---|
330 | styls = styles() |
---|
331 | |
---|
332 | htmlStyle = {} |
---|
333 | htmlStyle['CMORvar'] = {'getIrefs':['__all__']} |
---|
334 | htmlStyle['requestVarGroup'] = {'getIrefs':['requestVar','requestLink']} |
---|
335 | htmlStyle['var'] = {'getIrefs':['CMORvar']} |
---|
336 | htmlStyle['objective'] = {'getIrefs':['objectiveLink']} |
---|
337 | htmlStyle['requestLink'] = {'getIrefs':['objectiveLink','requestItem']} |
---|
338 | htmlStyle['exptgroup'] = {'getIrefs':['__all__']} |
---|
339 | htmlStyle['requestItem'] = {'getIrefs':['__all__']} |
---|
340 | htmlStyle['experiment'] = {'getIrefs':['__all__']} |
---|
341 | htmlStyle['mip'] = {'getIrefs':['__all__']} |
---|
342 | htmlStyle['miptable'] = {'getIrefs':['__all__']} |
---|
343 | htmlStyle['remarks'] = {'getIrefs':['__all__']} |
---|
344 | htmlStyle['grids'] = {'getIrefs':['__all__']} |
---|
345 | htmlStyle['varChoice'] = {'getIrefs':['__all__']} |
---|
346 | htmlStyle['spatialShape'] = {'getIrefs':['__all__']} |
---|
347 | htmlStyle['temporalShape'] = {'getIrefs':['__all__']} |
---|
348 | htmlStyle['structure'] = {'getIrefs':['__all__']} |
---|
349 | htmlStyle['cellMethods'] = {'getIrefs':['__all__']} |
---|
350 | htmlStyle['standardname'] = {'getIrefs':['__all__']} |
---|
351 | htmlStyle['varRelations'] = {'getIrefs':['__all__']} |
---|
352 | htmlStyle['varRelLnk'] = {'getIrefs':['__all__']} |
---|
353 | htmlStyle['units'] = {'getIrefs':['__all__']} |
---|
354 | htmlStyle['timeSlice'] = {'getIrefs':['__all__']} |
---|
355 | |
---|
356 | if __name__ == "__main__": |
---|
357 | assert os.path.isdir( 'html' ), 'Before running this script you need to create "html", "html/index" and "html/u" sub-directories, or edit the call to dq.makeHtml' |
---|
358 | assert os.path.isdir( 'html/u' ), 'Before running this script you need to create "html", "html/index" and "html/u" sub-directories, or edit the call to dq.makeHtml, and refernces to "u" in style lines below' |
---|
359 | assert os.path.isdir( 'html/index' ), 'Before running this script you need to create "html", "html/index" and "html/u" sub-directories, or edit the call to dq.makeHtml, and refernces to "u" in style lines below' |
---|
360 | assert os.path.isdir( 'tables' ), 'Before running this script you need to create a "tables" sub-directory, or edit the table_utils.makeTab class' |
---|
361 | |
---|
362 | dq = dreq.loadDreq( htmlStyles=htmlStyle, manifest='out/dreqManifest.txt' ) |
---|
363 | ## |
---|
364 | ## add special styles to dq object "itemStyle" dictionary. |
---|
365 | ## |
---|
366 | dq.itemStyles['standardname'] = styls.snLink |
---|
367 | dq.itemStyles['var'] = styls.varLink |
---|
368 | dq.itemStyles['mip'] = styls.mipLink |
---|
369 | dq.itemStyles['CMORvar'] = styls.cmvLink |
---|
370 | dq.itemStyles['objective'] = styls.objLink |
---|
371 | dq.itemStyles['units'] = styls.unitLink |
---|
372 | dq.itemStyles['structure'] = styls.strLink |
---|
373 | dq.itemStyles['cellMethods'] = styls.cmLink |
---|
374 | dq.itemStyles['remarks'] = styls.remarkLink |
---|
375 | dq.itemStyles['objectiveLink'] = styls.objLnkLink |
---|
376 | dq.itemStyles['requestVarGroup'] = styls.vgrpLink |
---|
377 | dq.itemStyles['miptable'] = styls.miptableLink |
---|
378 | dq.itemStyles['requestLink'] = styls.rqlLink02 |
---|
379 | dq.itemStyles['requestItem'] = styls.rqiLink02 |
---|
380 | dq.itemStyles['spatialShape'] = styls.labTtl |
---|
381 | dq.indexSortBy['miptable'] = 'label' |
---|
382 | dq.coll['var'].items[0].__class__._linkAttrStyle['sn'] = styls.snLink01 |
---|
383 | dq.coll['CMORvar'].items[0].__class__._linkAttrStyle['stid'] = styls.stidLink01 |
---|
384 | ##dq.coll['requestVarGroup'].items[0].__class__._linkAttrStyle['requestVar'] = styls.rqvLink01 |
---|
385 | dq.itemStyles['requestVar'] = styls.rqvLink01 |
---|
386 | |
---|
387 | dreq.dreqItemBase._extraHtml['requestVarGroup'] = rvgExtraTable.vgx1(dq).mxoGet |
---|
388 | dreq.dreqItemBase.__charmeEnable__['var'] = nt__charmeEnable( 'test','http://clipc-services.ceda.ac.uk/dreq' ) |
---|
389 | |
---|
390 | ht = htmlTrees(dq) |
---|
391 | dq.makeHtml( annotations={'var':ht.anno}, ttl0='Data Request [%s]' % dreq.version ) |
---|
392 | try: |
---|
393 | mt = table_utils.makeTab( dq) |
---|
394 | except: |
---|
395 | print ('Could not make tables ...') |
---|
396 | raise |
---|
397 | mp = makePurl() |
---|
398 | mj = makeJs( dq ) |
---|