aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-11-01 19:09:44 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-11-01 19:09:44 +0100
commit709f92f02daad57037b58996c9c92d48b77c214c (patch)
treed30b39b0a9762afb04d993de144963c5df62d7c4 /scripts
parent71cdb8d0acb73679f7dd7f596df7121fe274d582 (diff)
downloadpunktestand-709f92f02daad57037b58996c9c92d48b77c214c.tar.gz
punktestand-709f92f02daad57037b58996c9c92d48b77c214c.zip
ergänze die Jahrgangserzeugung um zwei Farbschemas
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/erzeuge_jahrgang.py24
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)