add succesd Mail - add all Tables to Feedback

master
Sebastian Serfling 2025-03-31 16:06:32 +02:00
parent f27ea51835
commit ee5d88f936
1 changed files with 6 additions and 33 deletions

View File

@ -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. Ü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 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 eine Bestätigungsmail, wenn alle Tabellen aktuell sind. Im Erfolgsfall wird
nur auf der Konsole ausgegeben. auch die Liste der geprüften Tabellen mit aufgeführt.
Im Testmodus wird nur auf der Konsole ausgegeben.
""" """
cursor = connection.cursor() 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" subject = f"Bestätigung: Alle Tabellen in Datenbank {database} sind aktuell"
body_intro = ( body_intro = (
f"Hallo,\n\n" 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." body_footer = "\n\nDies ist eine automatisch generierte Nachricht."
# Wenn Testmodus aktiviert, Ausgabe auf Konsole # Wenn Testmodus aktiviert, Ausgabe auf Konsole
@ -235,32 +237,3 @@ def main():
if not email_config["sender"] or not email_config["receiver"]: 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!") print("Fehler: E-Mail-Absender und -Empfänger müssen entweder in der .env-Datei oder als Parameter angegeben werden!")
connection.close() 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()