From 23e642d3815567da0b3fb215c54da5d044c8c842 Mon Sep 17 00:00:00 2001
From: Ryan McCloskey <rmccloskey@tssg.org>
Date: Thu, 15 Jun 2023 15:29:15 +0100
Subject: [PATCH] Fix for adding NSD via osm repo-index and with
 nfpkg-repo-show

---
 osmclient/sol005/osmrepo.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/osmclient/sol005/osmrepo.py b/osmclient/sol005/osmrepo.py
index 6b9d527..24dba0b 100644
--- a/osmclient/sol005/osmrepo.py
+++ b/osmclient/sol005/osmrepo.py
@@ -156,10 +156,10 @@ class OSMRepo(Repo):
         rmtree(folder, ignore_errors=False)
         if (
             pkgtype == "vnf"
-            and (pkg_descriptor.get("vnfd") or pkg_descriptor.get("vnfd:vnfd_catalog"))
+            and (("vnfd" not in pkg_descriptor) and ("vnfd:vnfd_catalog" not in pkg_descriptor))
         ) or (
             pkgtype == "ns"
-            and (pkg_descriptor.get("nsd") or pkg_descriptor.get("nsd:nsd_catalog"))
+            and (("nsd" not in pkg_descriptor) and ("nsd:nsd_catalog" not in pkg_descriptor))
         ):
             raise ClientException("Wrong Package type")
         return pkg_descriptor
@@ -308,7 +308,10 @@ class OSMRepo(Repo):
             self._logger.error(msg)
             raise ValueError(msg)
         # Repo search is based on 'name' entry in index.yaml. It is mandatory then
-        fields["name"] = aux_dict.get("name", aux_dict["product-name"])
+        if (aux_dict.get("product-name")):
+          fields["name"] = aux_dict.get("product-name")
+        else:
+          fields["name"] = aux_dict.get("name")
         fields["id"] = aux_dict.get("id")
         fields["description"] = aux_dict.get("description")
         fields["vendor"] = aux_dict.get("vendor")
-- 
GitLab