nit: improve user handling
diff --git a/staffeln/common/openstack.py b/staffeln/common/openstack.py
index efdb060..9f412e8 100644
--- a/staffeln/common/openstack.py
+++ b/staffeln/common/openstack.py
@@ -48,10 +48,16 @@
members = self.get_role_assignments(project_id)
emails = []
for member in members:
- if member.user and "id" in member.user:
- user = self.get_user(member.user["id"])
- if user and hasattr(user, "email"):
- emails.append(user.email)
+ if hasattr(member, "user"):
+ user_id = None
+ if type(member.user) is dict and "id" in member.user:
+ user_id = member.user["id"]
+ elif type(member.user) is str:
+ user_id = member.user
+ if user_id:
+ user = self.get_user(user_id)
+ if user and hasattr(user, "email") and user.email:
+ emails.append(user.email)
return emails
def get_projects(self):
diff --git a/staffeln/conductor/result.py b/staffeln/conductor/result.py
index 2bb0f57..34d9660 100644
--- a/staffeln/conductor/result.py
+++ b/staffeln/conductor/result.py
@@ -48,7 +48,7 @@
return False
except Exception as ex:
LOG.warn(
- f"Failed to fetch emails from project members with exception: {ex}"
+ f"Failed to fetch emails from project members with exception: {str(ex)} "
"As also no receiver email or project receiver domain are "
"configured. Will try to report later."
)