diff options
Diffstat (limited to 'scripts/erzeuge_jahrgang.py')
| -rwxr-xr-x | scripts/erzeuge_jahrgang.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/scripts/erzeuge_jahrgang.py b/scripts/erzeuge_jahrgang.py index c9380bd..46dc99d 100755 --- a/scripts/erzeuge_jahrgang.py +++ b/scripts/erzeuge_jahrgang.py @@ -1,17 +1,27 @@ #!/usr/bin/env python3 """Erzeuge SQL Statements um die Klassen eines Jahrgangs anzulegen""" import argparse +from itertools import cycle -STATEMENT = "INSERT INTO Klasse (Schuljahr, Jahrgang, Bezeichner) VALUES ('{}', {}, '{}');" +STATEMENT = "INSERT INTO Klasse (Schuljahr, Jahrgang, Bezeichner, Farbe) VALUES ('{}', {}, '{}', '{}');" +FARBSCHEMAS = { + "regenbogen": + ["#de324c", "#f4895f", "#f8e16f", "#95cf92", "#369acc", "#9656a2"], + "default": ["#36a2eb" for _ in range(6)] +} -def erzeuge_statements(schuljahr: str, klassenstufe: int, bezeichner: str) -> list[str]: + +def erzeuge_statements(schuljahr: str, klassenstufe: int, bezeichner: str, + farbschema: str) -> list[str]: """Gib eine Liste an SQL Statements zurück, um alle Klassen eines Jahrgangs zu erzeugen""" statements = [] aktueller_bezeichner = 'a' + farben = cycle(FARBSCHEMAS[farbschema]) while aktueller_bezeichner <= bezeichner: - statement = STATEMENT.format(schuljahr, klassenstufe, aktueller_bezeichner) + statement = STATEMENT.format(schuljahr, klassenstufe, + aktueller_bezeichner, next(farben)) statements.append(statement) aktueller_bezeichner = chr(ord(aktueller_bezeichner) + 1) @@ -21,6 +31,10 @@ def erzeuge_statements(schuljahr: str, klassenstufe: int, bezeichner: str) -> li def main(): """Erzeuge passenden Statements zu den Kommandozeilen-Parameter""" parser = argparse.ArgumentParser() + parser.add_argument("--farbschema", + choices=["default", "regenbogen"], + default="default", + help="Das Farbschema der erzeugten Klassen") parser.add_argument("schuljahr", type=str, help="Das Schuljahr in der Form: yyYY") @@ -32,7 +46,9 @@ def main(): help="Der letzte alphabetische Bezeichner der Klassen") args = parser.parse_args() - for statement in erzeuge_statements(args.schuljahr, args.klassenstufe, args.letzter_bezeichner): + for statement in erzeuge_statements(args.schuljahr, args.klassenstufe, + args.letzter_bezeichner, + args.farbschema): print(statement) |
