From 5cf69293938d14c7de49a4439c719389015bf312 Mon Sep 17 00:00:00 2001
From: Thorge Petersen <petersen@rz.uni-kiel.de>
Date: Mon, 27 Mar 2023 13:30:59 +0200
Subject: [PATCH] Hardened openness score mapping

---
 ckanext/odsh/plugin.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py
index f7522b36..b270fc0b 100644
--- a/ckanext/odsh/plugin.py
+++ b/ckanext/odsh/plugin.py
@@ -359,10 +359,9 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
             d = json.loads(dict_pkg['validated_data_dict'])
             score = -1
             for r in d['resources']:
-                if 'qa' in r:
-                    if 'openness_score' in r['qa']:
-                        s = int(r['qa']['openness_score'])
-                        if s > score:
-                            score = s
+                if ('qa' in r) and (type(r['qa']) is dict) and ('openness_score' in r['qa']):
+                    s = int(r['qa']['openness_score'])
+                    if s > score:
+                        score = s
             if score > 0:
                 dict_pkg['openness'] = OdshPlugin.scores[score-1]
-- 
GitLab