aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-09-07 16:24:04 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-09-07 16:24:04 +0200
commitbc7b48f1d8321dc01d448cdeda025acf19e58e71 (patch)
tree3682b9b2abf6c60f44d80f1666624ee6efb082ca /scripts
downloadpunktestand-bc7b48f1d8321dc01d448cdeda025acf19e58e71.tar.gz
punktestand-bc7b48f1d8321dc01d448cdeda025acf19e58e71.zip
initial commit
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/erzeuge_jahrgang.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/erzeuge_jahrgang.py b/scripts/erzeuge_jahrgang.py
new file mode 100755
index 0000000..c9380bd
--- /dev/null
+++ b/scripts/erzeuge_jahrgang.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python3
+"""Erzeuge SQL Statements um die Klassen eines Jahrgangs anzulegen"""
+import argparse
+
+STATEMENT = "INSERT INTO Klasse (Schuljahr, Jahrgang, Bezeichner) VALUES ('{}', {}, '{}');"
+
+
+def erzeuge_statements(schuljahr: str, klassenstufe: int, bezeichner: str) -> list[str]:
+ """Gib eine Liste an SQL Statements zurück, um alle Klassen eines Jahrgangs zu erzeugen"""
+ statements = []
+ aktueller_bezeichner = 'a'
+
+ while aktueller_bezeichner <= bezeichner:
+ statement = STATEMENT.format(schuljahr, klassenstufe, aktueller_bezeichner)
+ statements.append(statement)
+ aktueller_bezeichner = chr(ord(aktueller_bezeichner) + 1)
+
+ return statements
+
+
+def main():
+ """Erzeuge passenden Statements zu den Kommandozeilen-Parameter"""
+ parser = argparse.ArgumentParser()
+ parser.add_argument("schuljahr",
+ type=str,
+ help="Das Schuljahr in der Form: yyYY")
+ parser.add_argument("klassenstufe",
+ type=int,
+ help="Die Klassenstufe der zu erzeugenden Klassen")
+ parser.add_argument("letzter_bezeichner",
+ type=str,
+ help="Der letzte alphabetische Bezeichner der Klassen")
+ args = parser.parse_args()
+
+ for statement in erzeuge_statements(args.schuljahr, args.klassenstufe, args.letzter_bezeichner):
+ print(statement)
+
+
+if __name__ == '__main__':
+ main()