diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-09-07 16:24:04 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-09-07 16:24:04 +0200 |
| commit | bc7b48f1d8321dc01d448cdeda025acf19e58e71 (patch) | |
| tree | 3682b9b2abf6c60f44d80f1666624ee6efb082ca /scripts | |
| download | punktestand-bc7b48f1d8321dc01d448cdeda025acf19e58e71.tar.gz punktestand-bc7b48f1d8321dc01d448cdeda025acf19e58e71.zip | |
initial commit
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/erzeuge_jahrgang.py | 40 |
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() |
