X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fcommon%2Futils.py;h=aed7d2964a36359c130f4e64ee9749ed582ab73b;hb=e7c24981a7021176e68ee87998c86d21e87f548e;hp=43287e957ed4fa35731e93a84e87118f6171c965;hpb=dd006fac5cefcff43d83bdd0ab1660d2bf2ef891;p=osm%2Fosmclient.git diff --git a/osmclient/common/utils.py b/osmclient/common/utils.py index 43287e9..aed7d29 100644 --- a/osmclient/common/utils.py +++ b/osmclient/common/utils.py @@ -59,8 +59,7 @@ def get_key_val_from_pkg(descriptor_file): 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: @@ -68,23 +67,27 @@ def get_key_val_from_pkg(descriptor_file): 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