tar = tarfile.open(descriptor_file)
yamlfile = None
for member in tar.getmembers():
- if (re.match('.*.yaml', member.name) and
- len(member.name.split('/')) == 2):
+ if re.match(".*.yaml", member.name) and len(member.name.split("/")) == 2:
yamlfile = member.name
break
if yamlfile is None:
dict = yaml.safe_load(tar.extractfile(yamlfile))
result = {}
- for k1, v1 in list(dict.items()):
- if not k1.endswith('-catalog'):
- continue
- for k2, v2 in list(v1.items()):
- if not k2.endswith('nsd') and not k2.endswith('vnfd'):
+ for k in dict:
+ if "nsd" in k:
+ result["type"] = "nsd"
+ else:
+ result["type"] = "vnfd"
+ if "type" not in result:
+ for k1, v1 in list(dict.items()):
+ if not k1.endswith("-catalog"):
continue
+ for k2, v2 in v1.items():
+ if not k2.endswith("nsd") and not k2.endswith("vnfd"):
+ continue
+ if "nsd" in k2:
+ result["type"] = "nsd"
+ else:
+ result["type"] = "vnfd"
+ for entry in v2:
+ for k3, v3 in list(entry.items()):
+ # strip off preceeding chars before :
+ key_name = k3.split(":").pop()
+ result[key_name] = v3
- if 'nsd' in k2:
- result['type'] = 'nsd'
- else:
- result['type'] = 'vnfd'
-
- for entry in v2:
- for k3, v3 in list(entry.items()):
- # strip off preceeding chars before :
- key_name = k3.split(':').pop()
-
- result[key_name] = v3
tar.close()
return result