From 42f70862e26ce69363d57e8de2e970b9db91eb99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorsten=20Ro=C3=9Fner?= <thorsten.rossner.extern@zendis.de>
Date: Mon, 23 Sep 2024 13:44:50 +0200
Subject: [PATCH] fix: Print summary of created account not from log file.

---
 lib/ucs.py                  | 6 ++++--
 user_import_udm_rest_api.py | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/ucs.py b/lib/ucs.py
index 6e6e3f9..4f70ab8 100644
--- a/lib/ucs.py
+++ b/lib/ucs.py
@@ -24,6 +24,7 @@ class Ucs:
         self.options_object = options_object
         self.timestamp = datetime.now().strftime('%Y-%m-%dT%Hh%Mm%SZ')
         self.create_count = { 'users': 0, 'maildomains': 0, 'groups': 0, 'oxcontexts': 0 }
+        self.credentials_created = []
 
         if options_object.output_accounts_filename:
             self.account_output_filename = options_object.output_accounts_filename
@@ -283,6 +284,7 @@ class Ucs:
     def __write_account_credentials(self, string):
         file = open(self.account_output_filename, 'a')
         file.write("%s\n" % string)
+        self.credentials_created.append(string)
         file.close()
 
     def summary(self):
@@ -292,5 +294,5 @@ class Ucs:
         logging.info(f"- Maildomains:\t{self.create_count['maildomains']}")
         logging.info(f"- OX Contexts:\t{self.create_count['oxcontexts']}")
 
-    def return_accounts_from_file(self):
-        return Path(self.account_output_filename).read_text()
+    def get_imported_credentials_list(self):
+        return '\n'.join(self.credentials_created)
diff --git a/user_import_udm_rest_api.py b/user_import_udm_rest_api.py
index ba0d854..c49eb53 100755
--- a/user_import_udm_rest_api.py
+++ b/user_import_udm_rest_api.py
@@ -88,7 +88,7 @@ ucs = Ucs(adm_username=options.udm_api_username, adm_password=options.udm_api_pa
 if not options.import_filename:
     logging.info(f"Starting random user import, as no file for import was defined.")
     RandomUser(import_callback, create_admins=options.create_admin_accounts, amount=int(options.import_random_amount), password_reset_mail=options.password_recovery_email)
-    logging.info(f"Accounts that have been created:\n{ucs.return_accounts_from_file()}")
+    logging.info(f"Accounts that have been created:\n{ucs.get_imported_credentials_list()}")
 elif os.path.isfile(options.import_filename):
     logging.info(f"Importing users from '{options.import_filename}'")
     ImportUser(import_callback, import_filename=options.import_filename, create_admin_accounts=options.create_admin_accounts)
-- 
GitLab