Skip to content
Snippets Groups Projects
Commit 96fbe994 authored by carignani's avatar carignani
Browse files

load several yaml files and print a numbered outline

parent 583e5310
No related branches found
No related tags found
No related merge requests found
......@@ -3,22 +3,63 @@
import toscaparser
import sys
import os
import toscaparser.yaml
#import toscaparser.tosca_template
import toscaparser.utils.yamlparser as yaml
print "Opening file " + sys.argv[1]
#res = toscaparser.validate(sys.argv[1])
#templ = toscaparser.tosca_template.ToscaTemplate(os.path.join(
# os.path.dirname(os.path.abspath(__file__)),
# 'data',
# 'data',
# sys.argv[1]))
TEMPLATES = {}
yaml_data = open(sys.argv[1]).read()
def load_template(fn, templs, key):
yaml_data = open(fn).read()
templs[key] = yaml.simple_ordered_parse(yaml_data)
templ = yaml.simple_ordered_parse(yaml_data)
tosca_types = [
'data_types',
'artifact_types',
'capability_types',
'requirements_types',
'relationship_types',
'interface_types',
'node_types',
'group_types',
'policy_types'
]
def get_datatypes(t):
return t['data_types']
ids = [ 6, 2, 1]
for datatype in get_datatypes(templ):
print i
\ No newline at end of file
def print_lvl(n, txt):
index = ".".join(map(str,ids[:(n+1)]))
print index + " " + ('-'*(n+1)) + ' ' + txt
def print_all_types(templ, lvl):
for tt in tosca_types:
if not tt in templ:
continue
print_lvl(lvl, tt)
for dt in templ[tt]:
print_lvl(lvl + 1, dt)
ids[lvl+1] = ids[lvl+1] + 1
ids[lvl+1] = 1
ids[lvl] = ids[lvl] + 1
print
ids[lvl] = 2
FOLDR = sys.argv[1]
fns = {
'VNFD' : 'etsi_nfv_sol001_vnfd_2_5_1_types.yaml',
'NSD' : 'etsi_nfv_sol001_nsd_2_5_1_types.yaml',
'PNFD' : 'etsi_nfv_sol001_pnfd_2_5_1_types.yaml'
}
for fn in ['VNFD', 'NSD', 'PNFD']:
load_template(FOLDR + '/' + fns[fn], TEMPLATES, fn)
print_lvl(0, fn)
print_all_types(TEMPLATES[fn], 1)
ids[0] = ids[0] + 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment