+ if descriptor_file.split(".")[-1] == "zip":
+ return get_key_val_from_pkg_sol004(descriptor_file)
+ else:
+ return get_key_val_from_pkg_old(descriptor_file)
+
+
+def get_key_val_from_pkg_sol004(package_file):
+ """Method opens up a package and finds the name of the resulting
+ descriptor (vnfd or nsd name), using SOL004 spec
+ """
+ with ZipFile(package_file) as zipfile:
+ yamlfile = None
+ for filedata in zipfile.infolist():
+ if (
+ re.match(".*.yaml", filedata.filename)
+ and filedata.filename.find("Scripts") < 0
+ ):
+ yamlfile = filedata.filename
+ break
+ if yamlfile is None:
+ return None
+
+ return get_key_val_from_descriptor(zipfile.open(yamlfile))
+
+
+def get_key_val_from_pkg_old(descriptor_file):
+ """Method opens up a package and finds the name of the resulting
+ descriptor (vnfd or nsd name)
+ """