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
|
# Erstellt oder löscht Inhalte vorhandener Logdatei und loggt Konsolenausgaben
|
||||||
log_file_path = 'output/log.txt'
|
log_file_path = 'output/log.txt'
|
||||||
|
import_command_path = 'output/import_command.txt'
|
||||||
if os.path.exists(log_file_path):
|
if os.path.exists(log_file_path):
|
||||||
open(log_file_path, 'w').close()
|
open(log_file_path, 'w').close()
|
||||||
sys.stdout = Logger.Logger(log_file_path)
|
sys.stdout = Logger.Logger(log_file_path)
|
||||||
|
|
||||||
print("Schul-IT UCS-Import Tool:\n")
|
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 #
|
# Step 1 - Dateien wählen, formatieren, einlesen | Variablen setzen #
|
||||||
|
|
||||||
# ToDo Daten mit UI einlesen
|
# ToDo Daten mit UI einlesen
|
||||||
# lehrer_liste_neu = "./Data/SaM/export_lehrer_SaM.csv"
|
# lehrer_liste_neu = "./Data/SaM/export_lehrer_SaM.csv"
|
||||||
lehrer_liste_neu = "./Data/GKS/exportLuL.csv"
|
school_folder = "Lauerholz"
|
||||||
lehrer_liste_system = "./Data//GKS/systemLuL.csv"
|
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'
|
lul_out_path = 'output/outputLehrer.csv'
|
||||||
|
|
||||||
schueler_liste_neu = "./Data/GKS/exportSuS.csv"
|
schueler_liste_neu = f"./Data/{school_folder}/export_sus.csv"
|
||||||
schueler_liste_system = "./Data/GKS/systemSuS.csv"
|
schueler_liste_system = f"./Data/{school_folder}/sys_sus.csv"
|
||||||
sus_out_path = 'output/outputSchueler.csv'
|
sus_out_path = 'output/outputSchueler.csv'
|
||||||
|
|
||||||
# Variablen füllen:
|
# 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
|
import pandas as pd
|
||||||
|
|
||||||
# Laden Sie die Excel-Datei mit mehreren Seiten
|
# 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 = []
|
dfs = []
|
||||||
for sheet_name in excel_file.sheet_names:
|
for sheet_name in excel_file.sheet_names:
|
||||||
df = excel_file.parse(sheet_name, skiprows=1) # Überspringen Sie die ersten beiden Zeilen
|
df = excel_file.parse(sheet_name, skiprows=1) # Überspringen Sie die ersten beiden Zeilen
|
||||||
|
df['SheetName'] = sheet_name
|
||||||
dfs.append(df)
|
dfs.append(df)
|
||||||
|
|
||||||
# Zusammenführen der einzelnen DataFrames zu einem
|
# Zusammenführen der einzelnen DataFrames zu einem
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ from Levenshtein import distance
|
|||||||
|
|
||||||
|
|
||||||
def compare_data(new, sys, count_test):
|
def compare_data(new, sys, count_test):
|
||||||
print(f"\nEinträge in Import Liste: {len(new)}")
|
print(f"\nEinträge in System Liste: {len(sys)}")
|
||||||
print(f"Einträge in System Liste: {len(sys)}")
|
print(f"Einträge in Import Liste: {len(new)}")
|
||||||
|
|
||||||
bool_class = 'klasse' in new.columns
|
bool_class = 'klasse' in new.columns
|
||||||
|
|
||||||
@@ -45,6 +45,6 @@ def search_typos(new, sys):
|
|||||||
|
|
||||||
|
|
||||||
def print_status(matches, new, old, count_test):
|
def print_status(matches, new, old, count_test):
|
||||||
print("\nAnzahl Übereinstimmungen:", len(matches) + count_test)
|
print("\nAnzahl neuer Nutzer:", len(new))
|
||||||
print("Anzahl neuer Nutzer:", len(new))
|
print("Anzahl Übereinstimmungen:", len(matches) + count_test)
|
||||||
print("Anzahl veralteter Nutzer:", len(old) - count_test)
|
print("Anzahl veralteter Nutzer:", len(old) - count_test)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ def create_uuid():
|
|||||||
|
|
||||||
def add_hl_tag(sid, row):
|
def add_hl_tag(sid, row):
|
||||||
klasse = str(row['klasse'])
|
klasse = str(row['klasse'])
|
||||||
|
klasse = klasse.lstrip('0').lower()
|
||||||
if klasse != 'nan':
|
if klasse != 'nan':
|
||||||
return sid + '-' + klasse
|
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 = merch_uuids(new, matched, dev)
|
||||||
df = add_school_data(df, sid, oxc, mail_q, oxq)
|
df = add_school_data(df, sid, oxc, mail_q, oxq)
|
||||||
df = pd.concat([df, testuser], ignore_index=True)
|
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")
|
print(f"\n{len(testuser)} Testuser angefügt - {len(df)} Einträge in {name} Liste")
|
||||||
df.to_csv(out_path, sep=';', index=False)
|
df.to_csv(out_path, sep=';', index=False)
|
||||||
print(f"{name} Import CSV unter {out_path} erfolgreich erstellt!")
|
print(f"{name} Import CSV unter {out_path} erfolgreich erstellt!")
|
||||||
|
|||||||
Reference in New Issue
Block a user