From f4346ff96504e31dfb587dfda19a5ead1f8c4d12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Wed, 27 Jul 2022 18:38:50 +0200
Subject: [PATCH] Fix missing 'get' method on Suds objects

---
 warden_ra/warden_ra.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/warden_ra/warden_ra.py b/warden_ra/warden_ra.py
index 1f03a1a..baf7338 100755
--- a/warden_ra/warden_ra.py
+++ b/warden_ra/warden_ra.py
@@ -250,7 +250,13 @@ class EjbcaRegistry(OpenSSLRegistry):
             subjectDN = self.subject_dn_template % client.name
         )
         edata["subjectAltName"] = ",".join(("RFC822NAME=%s" % a for a in client.admins))
-        edata["status"] = self.status_str_to_ejbca.get(client.status, edata["status"])
+        try:
+            edata["status"] = self.status_str_to_ejbca.get(client.status)
+        except KeyError:
+            # Unknown status - either came from EJBCA and translated to
+            # "Other", or something wrong came in later. Let's just
+            # keep original EJBCA status unchanged.
+            pass
         if client.pwd:
             edata["password"] = client.pwd
             edata["clearPwd"] = True
-- 
GitLab