From b9a66e31af71ee99603cf7d6eed7351bf47ce9ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lorenz=20H=C3=BCdepohl?= <lorenz.huedepohl@rzg.mpg.de>
Date: Thu, 19 Jul 2018 14:07:49 +0200
Subject: [PATCH] Better error messages

---
 mpcdf_common.py | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/mpcdf_common.py b/mpcdf_common.py
index 9d49b32..7044356 100644
--- a/mpcdf_common.py
+++ b/mpcdf_common.py
@@ -138,6 +138,7 @@ def remove_attribute(api_url, project, package, attribute_name):
 
 def mpcdf_enable_repositories(api_url, project, package, verbose=False):
     from itertools import product
+    import sys
 
     root = ElementTree.fromstringlist(osc.core.show_package_meta(api_url, project, package))
     build = root.find("./build")
@@ -152,9 +153,23 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False):
     mpis = get_attribute_values(api_url, project, package, "MPCDF:mpi_modules", with_project=True)
     cudas = get_attribute_values(api_url, project, package, "MPCDF:cuda_modules", with_project=True)
 
-    default_compilers = get_attribute_values(api_url, project, None, "MPCDF:default_compiler")
-    default_mpis = get_attribute_values(api_url, project, None, "MPCDF:default_mpi")
-    default_cudas = get_attribute_values(api_url, project, None, "MPCDF:default_cuda")
+    try:
+        default_compilers = get_attribute_values(api_url, project, None, "MPCDF:default_compiler")
+    except UnsetAttributeException:
+        print("ERROR: Attribute MPCDF:default_compiler not set for project", file=sys.stderr)
+        raise SystemExit(1)
+
+    try:
+        default_mpis = get_attribute_values(api_url, project, None, "MPCDF:default_mpi")
+    except UnsetAttributeException:
+        print("ERROR: Attribute MPCDF:default_mpi not set for project", file=sys.stderr)
+        raise SystemExit(1)
+
+    try:
+        default_cudas = get_attribute_values(api_url, project, None, "MPCDF:default_cuda")
+    except UnsetAttributeException:
+        print("ERROR: Attribute MPCDF:default_cuda not set for project", file=sys.stderr)
+        raise SystemExit(1)
 
     def enable(name):
         node = ElementTree.Element("enable")
-- 
GitLab