From 1f28113241c5b190acddb528fd9a2724adbc99ea Mon Sep 17 00:00:00 2001
From: Philip Gaber <gaber@b1-systems.de>
Date: Mon, 11 Nov 2024 15:05:15 +0100
Subject: [PATCH] fix: Consistent boolean parameter checking

---
 lib/random_user.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/random_user.py b/lib/random_user.py
index 967becf..80ce0d7 100644
--- a/lib/random_user.py
+++ b/lib/random_user.py
@@ -7,6 +7,7 @@ import glob
 import base64
 import random
 import string
+import sys
 
 class RandomUser:
 
@@ -41,11 +42,21 @@ class RandomUser:
             person["email"] = password_reset_mail
             person['is_admin'] = False
             callback(person)
-            if create_admins:
+            if self.__option2bool(create_admins):
                 person['username'] = self.__get_username(person["firstname"], person["lastname"], admin=True)
                 person['is_admin'] = True
                 callback(person)
 
+    def __option2bool(self, string):
+        if isinstance(string, (bool)):
+            return string
+        elif string.lower() in ['true', 'yes', 'ok']:
+            return True
+        elif string.lower() in ['false', 'no', 'nok']:
+            return False
+        else:
+            sys.exit(f"Cannot convert {string} into a boolean value.")
+
     def __get_firstname_and_gender(self):
         to_split_result = self.__get_random_list_entry("firstname")
         return to_split_result.split('\t')
-- 
GitLab