small improvements
This commit is contained in:
12
main.py
12
main.py
@@ -39,24 +39,26 @@ if __name__ == "__main__":
|
||||
|
||||
# Erstellt oder löscht Inhalte vorhandener Logdatei und loggt Konsolenausgaben
|
||||
log_file_path = 'output/log.txt'
|
||||
import_command_path = 'output/import_command.txt'
|
||||
if os.path.exists(log_file_path):
|
||||
open(log_file_path, 'w').close()
|
||||
sys.stdout = Logger.Logger(log_file_path)
|
||||
|
||||
print("Schul-IT UCS-Import Tool:\n")
|
||||
dev = True # CHANGE to "False" FOR PRODUCTION RUN <------
|
||||
dev = False # CHANGE to "False" FOR PRODUCTION RUN <------
|
||||
|
||||
# ----------------------------------------------------------------- #
|
||||
# Step 1 - Dateien wählen, formatieren, einlesen | Variablen setzen #
|
||||
|
||||
# ToDo Daten mit UI einlesen
|
||||
# lehrer_liste_neu = "./Data/SaM/export_lehrer_SaM.csv"
|
||||
lehrer_liste_neu = "./Data/GKS/exportLuL.csv"
|
||||
lehrer_liste_system = "./Data//GKS/systemLuL.csv"
|
||||
school_folder = "Lauerholz"
|
||||
lehrer_liste_neu = f"./Data/{school_folder}/export_lul.csv"
|
||||
lehrer_liste_system = f"./Data//{school_folder}/sys_lul.csv"
|
||||
lul_out_path = 'output/outputLehrer.csv'
|
||||
|
||||
schueler_liste_neu = "./Data/GKS/exportSuS.csv"
|
||||
schueler_liste_system = "./Data/GKS/systemSuS.csv"
|
||||
schueler_liste_neu = f"./Data/{school_folder}/export_sus.csv"
|
||||
schueler_liste_system = f"./Data/{school_folder}/sys_sus.csv"
|
||||
sus_out_path = 'output/outputSchueler.csv'
|
||||
|
||||
# Variablen füllen:
|
||||
|
||||
12
src/generate_commands.py
Normal file
12
src/generate_commands.py
Normal file
@@ -0,0 +1,12 @@
|
||||
def generate_commands(path, sid, context, short):
|
||||
with open(path, 'w') as file:
|
||||
file.write(f'sudo /usr/share/ucs-school-import/scripts/ucs-school-user-import --dry-run '
|
||||
f'--infile outputSchueler.csv --school HL070{sid} --source_uid hl070{sid}-student '
|
||||
f'--user_role student 2>&1 | tee schueler-import.log \n')
|
||||
|
||||
file.write(f'/usr/share/ucs-school-import/scripts/ucs-school-user-import --dry-run '
|
||||
f'--infile outputLehrer.csv --school HL070{sid} --source_uid hl070{sid}-teacher '
|
||||
f'--user_role teacher 2>&1 | tee lehrer-import.log')
|
||||
|
||||
file.write('# Ohne Dry Run ausführen')
|
||||
file.write('# Summary kopieren (sudo cp <summary path> .)')
|
||||
@@ -1,11 +1,12 @@
|
||||
import pandas as pd
|
||||
|
||||
# Laden Sie die Excel-Datei mit mehreren Seiten
|
||||
excel_file = pd.ExcelFile('C:/Users/Patrick vom Hagen/Documents/Import/GKS/GKS_alle SuS.xls')
|
||||
excel_file = pd.ExcelFile('C:/Users/Patrick vom Hagen/Documents/Import/Falkenfled/Schüler und Schülerinnen gesamt.xls')
|
||||
|
||||
dfs = []
|
||||
for sheet_name in excel_file.sheet_names:
|
||||
df = excel_file.parse(sheet_name, skiprows=1) # Überspringen Sie die ersten beiden Zeilen
|
||||
df['SheetName'] = sheet_name
|
||||
dfs.append(df)
|
||||
|
||||
# Zusammenführen der einzelnen DataFrames zu einem
|
||||
|
||||
@@ -3,8 +3,8 @@ from Levenshtein import distance
|
||||
|
||||
|
||||
def compare_data(new, sys, count_test):
|
||||
print(f"\nEinträge in Import Liste: {len(new)}")
|
||||
print(f"Einträge in System Liste: {len(sys)}")
|
||||
print(f"\nEinträge in System Liste: {len(sys)}")
|
||||
print(f"Einträge in Import Liste: {len(new)}")
|
||||
|
||||
bool_class = 'klasse' in new.columns
|
||||
|
||||
@@ -45,6 +45,6 @@ def search_typos(new, sys):
|
||||
|
||||
|
||||
def print_status(matches, new, old, count_test):
|
||||
print("\nAnzahl Übereinstimmungen:", len(matches) + count_test)
|
||||
print("Anzahl neuer Nutzer:", len(new))
|
||||
print("\nAnzahl neuer Nutzer:", len(new))
|
||||
print("Anzahl Übereinstimmungen:", len(matches) + count_test)
|
||||
print("Anzahl veralteter Nutzer:", len(old) - count_test)
|
||||
|
||||
@@ -8,6 +8,7 @@ def create_uuid():
|
||||
|
||||
def add_hl_tag(sid, row):
|
||||
klasse = str(row['klasse'])
|
||||
klasse = klasse.lstrip('0').lower()
|
||||
if klasse != 'nan':
|
||||
return sid + '-' + klasse
|
||||
|
||||
@@ -34,6 +35,7 @@ def create_output_list(name, new, matched, dev, sid, oxc, mail_q, oxq, testuser,
|
||||
df = merch_uuids(new, matched, dev)
|
||||
df = add_school_data(df, sid, oxc, mail_q, oxq)
|
||||
df = pd.concat([df, testuser], ignore_index=True)
|
||||
df = df[['name', 'vorname', 'klasse', 'schuelerid', 'mailUserQuota', 'oxUserQuota', 'oxContext']]
|
||||
print(f"\n{len(testuser)} Testuser angefügt - {len(df)} Einträge in {name} Liste")
|
||||
df.to_csv(out_path, sep=';', index=False)
|
||||
print(f"{name} Import CSV unter {out_path} erfolgreich erstellt!")
|
||||
|
||||
Reference in New Issue
Block a user