Commit 96fbe994 authored by carignani's avatar carignani
Browse files

load several yaml files and print a numbered outline

parent 583e5310
Loading
Loading
Loading
Loading
+49 −8
Original line number Original line Diff line number Diff line
@@ -3,7 +3,8 @@
import toscaparser
import toscaparser
import sys
import sys
import os
import os
import toscaparser.yaml
#import toscaparser.tosca_template
import toscaparser.utils.yamlparser as yaml


print "Opening file " + sys.argv[1]
print "Opening file " + sys.argv[1]
#res = toscaparser.validate(sys.argv[1])
#res = toscaparser.validate(sys.argv[1])
@@ -12,13 +13,53 @@ print "Opening file " + sys.argv[1]
#           'data',
#           'data',
#            sys.argv[1]))
#            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):
ids = [ 6, 2, 1]
	return t['data_types']


for datatype in get_datatypes(templ):
def print_lvl(n, txt):
	print i
	index = ".".join(map(str,ids[:(n+1)]))
 No newline at end of file
	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