From a521f432ea4b4eba9e61f8ddec9a0e456e3c4ca4 Mon Sep 17 00:00:00 2001
From: atoav <dh@atoav.com>
Date: Thu, 7 May 2020 11:35:54 +0200
Subject: [PATCH] Catch malformed XML responses and print them

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

diff --git a/bbbmon/meetings.py b/bbbmon/meetings.py
index 5b642d3..66340b8 100644
--- a/bbbmon/meetings.py
+++ b/bbbmon/meetings.py
@@ -49,7 +49,13 @@ def request_meetings(secret: Secret, bbb_url: Url, user_config_path: str) -> Xml
             click.edit(filename=user_config_path)
             exit()
 
-    root = ElementTree.XML(r.text)
+    try:
+        root = ElementTree.XML(r.text)
+    except xml.etree.ElementTree.ParseError as e:
+        click.echo("{} The XML returned from {} returned an xml.etree.ElementTree.ParseError. The response text from the Server was:\n{}".format(click.style('Error:', fg='red', bold=True), url, r.text))
+        print("Exiting...")
+        exit()
+
     xmldict = XmlDictConfig(root)
     if "returncode" in xmldict.keys():
         if xmldict['returncode'] == "FAILED":
-- 
GitLab