From ee5d88f9367a1be5b85a509e3a9720ee18a768bb Mon Sep 17 00:00:00 2001 From: Sebastian Serfling Date: Mon, 31 Mar 2025 16:06:32 +0200 Subject: [PATCH] add succesd Mail - add all Tables to Feedback --- mysql_timestamp_check.py | 39 ++++++--------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/mysql_timestamp_check.py b/mysql_timestamp_check.py index aa2e535..9a4d8f7 100644 --- a/mysql_timestamp_check.py +++ b/mysql_timestamp_check.py @@ -48,8 +48,9 @@ def check_timestamp(connection, tables, timestamp_column, email_config, test_mod """ Überprüft, ob der letzte Zeitstempel in jeder angegebenen Tabelle von gestern ist. Sendet eine E-Mail mit den Namen der Tabellen, die nicht aktuell sind oder - eine Bestätigungsmail, wenn alle Tabellen aktuell sind. Im Testmodus wird - nur auf der Konsole ausgegeben. + eine Bestätigungsmail, wenn alle Tabellen aktuell sind. Im Erfolgsfall wird + auch die Liste der geprüften Tabellen mit aufgeführt. + Im Testmodus wird nur auf der Konsole ausgegeben. """ cursor = connection.cursor() @@ -102,9 +103,10 @@ def check_timestamp(connection, tables, timestamp_column, email_config, test_mod subject = f"Bestätigung: Alle Tabellen in Datenbank {database} sind aktuell" body_intro = ( f"Hallo,\n\n" - f"alle zu überprüfenden Tabellen in der Datenbank '{database}' enthalten aktuelle Zeitstempel von gestern.\n" + f"alle zu überprüfenden Tabellen in der Datenbank '{database}' enthalten aktuelle Zeitstempel von gestern.\n\n" + "Folgende Tabellen wurden überprüft:\n" ) - body_tables = "" + body_tables = "\n".join(f"- {table}" for table in tables) body_footer = "\n\nDies ist eine automatisch generierte Nachricht." # Wenn Testmodus aktiviert, Ausgabe auf Konsole @@ -235,32 +237,3 @@ def main(): if not email_config["sender"] or not email_config["receiver"]: print("Fehler: E-Mail-Absender und -Empfänger müssen entweder in der .env-Datei oder als Parameter angegeben werden!") connection.close() - sys.exit(1) - - # Tabellen aus der Datenbank holen - tables = get_tables_from_db(connection) - - if not tables: - print("Keine zu überprüfenden Tabellen gefunden. Programm wird beendet.") - connection.close() - sys.exit(0) - - # Zeitstempel-Spalte (Standard: add_date) - timestamp_column = args.timestamp_column - print(f"Überprüfe Zeitstempel in Spalte: {timestamp_column}") - - # Timestamp-Überprüfung durchführen und entsprechende E-Mail senden - check_timestamp( - connection, - tables, - timestamp_column, - email_config, - test_mode - ) - - # Verbindung schließen - connection.close() - - -if __name__ == "__main__": - main()