File: mv_mars_catalog.py

package info (click to toggle)
metview 5.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 44,932 kB
  • sloc: cpp: 211,811; ansic: 33,467; xml: 3,942; sh: 2,942; yacc: 1,183; fortran: 762; lex: 761; perl: 700; python: 340; f90: 236; makefile: 92
file content (42 lines) | stat: -rwxr-xr-x 1,176 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/python3
# Copyright 2012 ECMWF and INPE. This software is distributed under the terms
# of the Apache License version 2.0. In applying this license, ECMWF does not
# waive the privileges and immunities granted to it by virtue of its status as
# an Intergovernmental Organization or submit itself to any jurisdiction.

# -*- coding: utf-8 -*-
import json
import sys
from webmars import fetch
#from beautify import beautify

# MARS catalog is a tree and everything is a node. The abstraction
# of that in our case is that everything is an instance of the class
# PSimpleNode.

# returns root node if fetch is called with no arguments
a=sys.stdin.readlines()

#print a

path    = json.loads("\n".join(a))
choices = {}
tree    = []

#print path
#sys.exit(0)

#def navigate(node):
#    if node.has_kids():
#       if node.name in path:
#          value = path[node.name]
#          tree.append([node.name, value])
#          choices[node.name] = node.kids.keys()
#          return navigate(fetch(node, value))
#    return node


output ={"axis":[], "tree":[], "choices":{}}
fetch().navigate(path,output)
#print fetch().kids.keys()
print (json.dumps(output, indent = 4))