updated project structure

This commit is contained in:
Patrick vom Hagen
2024-01-26 15:41:22 +01:00
parent 6ea62d15d7
commit 3175327cf2
24 changed files with 89 additions and 49 deletions

View File

@@ -108,7 +108,7 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
# print(import_df) # print(import_df)
# pd.reset_option('display.max_rows') # pd.reset_option('display.max_rows')
# pd.reset_option('display.max_columns') # pd.reset_option('display.max_columns')
out_path = '../GPS/outputLehrer.csv' out_path = '../Data/GPS/outputLehrer.csv'
import_df.to_csv(out_path, sep=';', index=False) import_df.to_csv(out_path, sep=';', index=False)
print(len(import_df)) print(len(import_df))
print('Lehrer Import Liste erzeugt') print('Lehrer Import Liste erzeugt')
@@ -116,9 +116,9 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
def main(): def main():
file1_path = '../GPS/gpsLnew.csv' file1_path = '../Data/GPS/gpsLnew.csv'
file2_path = '../GPS/gpsLold2.cvs' file2_path = '../Data/GPS/gpsLold2.cvs'
file3_path = '../GPS/gpsLold.csv' file3_path = '../Data/GPS/gpsLold.csv'
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path) common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)

View File

@@ -109,7 +109,7 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
# print(import_df) # print(import_df)
# pd.reset_option('display.max_rows') # pd.reset_option('display.max_rows')
# pd.reset_option('display.max_columns') # pd.reset_option('display.max_columns')
out_path = '../GPS/outputSchueler.csv' out_path = '../Data/GPS/outputSchueler.csv'
import_df.to_csv(out_path, sep=';', index=False) import_df.to_csv(out_path, sep=';', index=False)
print(len(import_df)) print(len(import_df))
print('Schüler Import Liste erzeugt') print('Schüler Import Liste erzeugt')
@@ -117,9 +117,9 @@ def create_import_list(path, path_new, old_pairs, new_pairs, common_pairs):
def main(): def main():
file1_path = '../GPS/gpsSnew.csv' file1_path = '../Data/GPS/gpsSnew.csv'
file2_path = '../GPS/gpsSold2.cvs' file2_path = '../Data/GPS/gpsSold2.cvs'
file3_path = '../GPS/gpsSold.csv' file3_path = '../Data/GPS/gpsSold.csv'
common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path) common_pairs, new_pairs, old_pairs, data1, data2 = compare_csv(file1_path, file2_path)

26
first_try/main.py Normal file
View File

@@ -0,0 +1,26 @@
from first_try.format_csv import *
if __name__ == "__main__":
oldlist = 'Data/alte-liste-utf.csv'
newlist = 'Data/neue-liste-utf.csv'
test = 'GPS/lehrer_HL0707113.csv_intern'
new_test = 'GPS/gpsLold.csv'
clean = 'GPS/gpsLold2.cvs'
# Liste nach Fehler prüfen und Zeichen ersetzen
check_file(test)
format_csv(test, new_test)
clean_data(new_test, clean)
# path_old_csv = input('Pfad zur alten Liste eingeben eingeben: ')
# format_csv(path_old_csv, oldlist)
# path_new_csv = input('Pfad zur neuen Liste eingeben eingeben: ')
# format_csv(path_new_csv, newlist)
# Generierte Listen mit pandas öffnen
# Spaltennamen prüfen und überflüssige Spalten löschen
# Abgleich starten -collisions
# TODO Testuser + Spezialfälle Raumaccounts etc. "Tafel" "Raum"
# TODO Fehlerhafte Sonderzeichen erkennen (oxport_schueler.csv - 171)
# TODO File / Ausgabe von Gesamten Zahlen zum Abgleich mit DryRun (ImportLines, Created, Modified, Delete)

74
main.py
View File

@@ -1,25 +1,61 @@
from src.format_csv import * ########################################
# -- 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__": if __name__ == "__main__":
oldlist = 'Data/alte-liste-utf.csv' print("Schul-IT UCS-Import Tool:")
newlist = 'Data/neue-liste-utf.csv'
test = 'GPS/lehrer_HL0707113.csv_intern' # ----------------------------------------------------------------- #
new_test = 'GPS/gpsLold.csv' # Step 1 - Dateien wählen, formatieren, einlesen | Variablen setzen #
clean = 'GPS/gpsLold2.cvs'
# Liste nach Fehler prüfen und Zeichen ersetzen # ToDo Daten mit UI einlesen
check_file(test) lehrer_liste_neu = "./Data/test_new.csv"
format_csv(test, new_test) lehrer_liste_system = "./Data/test.csv"
clean_data(new_test, clean)
# path_old_csv = input('Pfad zur alten Liste eingeben eingeben: ') schueler_liste_neu = "./Data/test_new.csv"
# format_csv(path_old_csv, oldlist) schueler_liste_system = "./Data/test.csv"
# path_new_csv = input('Pfad zur neuen Liste eingeben eingeben: ')
# format_csv(path_new_csv, newlist)
# Generierte Listen mit pandas öffnen # Variablen füllen:
# Spaltennamen prüfen und überflüssige Spalten löschen school_id = input("Schul-ID eingeben (Format: 'HL070XXXX):")
# Abgleich starten -collisions ox_context = input("OX-Context der Schule eingeben:")
# TODO Testuser + Spezialfälle Raumaccounts etc. "Tafel" "Raum" if input("Klassen mit führenden Nullen? (Y/N) ").lower() == "y":
# TODO Fehlerhafte Sonderzeichen erkennen (oxport_schueler.csv - 171) 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

0
src/__init__.py Normal file
View File

View File

@@ -1,22 +0,0 @@
########################################
# -- 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
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

0
src/step1.py Normal file
View File