######################################## # -- Python Script für UCS Import -- # # -- by Patrick vom Hagen 2024 -- # ######################################## ############################################################### # IMPORT - standard Python imports für benötigte Bibliotheken # import pandas as pd # pandas für Datenmanagement import chardet # chardet erkennt Formatierung - Umwandlung des erkannten Formats in UTF-8 import csv # zur Verarbeitung von .csv Dateien import uuid # zur Generierung von neuen UUIDs ############################# # Flags / globale Variablen # del_zeros = False # Boolean, ob führende Nullen bei Klassen entfernt werden sollen get_typos = False # Boolean, ob geringe Unterschiede zwischen den Listen ausgegeben werden sollen test_user = [] # Array in dem Spezialuser gespeichert und wieder eingefügt werden school_id = 'HL' # HL-Tag für Klassen ox_context = 0 # OX Context pro Schule mail_quota_lul = 2048 # MailUserQuota LuL ox_quota_lul = 20480 # oxUserQuota LuL mail_quota_sus = 1024 # MailUserQuota SuS ox_quota_sus = 5120 # oxUserQuota LuL ####################### # MAIN FUNCTION START # if __name__ == "__main__": print("Schul-IT UCS-Import Tool:") # ----------------------------------------------------------------- # # Step 1 - Dateien wählen, formatieren, einlesen | Variablen setzen # # ToDo Daten mit UI einlesen lehrer_liste_neu = "./Data/test_new.csv" lehrer_liste_system = "./Data/test.csv" schueler_liste_neu = "./Data/test_new.csv" schueler_liste_system = "./Data/test.csv" # Variablen füllen: school_id = input("Schul-ID eingeben (Format: 'HL070XXXX):") ox_context = input("OX-Context der Schule eingeben:") if input("Klassen mit führenden Nullen? (Y/N) ").lower() == "y": del_zeros = False else: del_zeros = True # ---------------------------------------------------- # # Step 2 - auf name, vorname reduzieren und abgleichen # # 2.1 Data Frames für Abgleich erstellen # 2.2 Datei mit gesamten Anzahlen generieren und füllen # 2.3 Nicht zuordnungsbare bzw. neue Einträge nach Abweichung zur Bestandsliste prüfen und ausgeben # UUIDs zwischenspeichern? # Step 3 - Import Data generieren - klasse, uuids, weiteres in einer Liste zusammenführen