diff --git a/main.py b/main.py index 1124821818bb079f03199b9b761d6d4a3c3cd1c6..05910139c66aa6d29748ae3d3ed949088e3b39ac 100755 --- a/main.py +++ b/main.py @@ -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