diff --git a/redaktionsplan/Instagram-Redaktionsplan.pdf b/redaktionsplan/Instagram-Redaktionsplan.pdf index 5ade101..ac425e8 100644 Binary files a/redaktionsplan/Instagram-Redaktionsplan.pdf and b/redaktionsplan/Instagram-Redaktionsplan.pdf differ diff --git a/redaktionsplan/bauen.py b/redaktionsplan/bauen.py index c2a6af2..0861dc8 100644 --- a/redaktionsplan/bauen.py +++ b/redaktionsplan/bauen.py @@ -33,13 +33,25 @@ TAGE = {0: "Mo", 2: "Mi", 4: "Fr"} # einen Termin nach hinten gerutscht. START = date(2026, 8, 14) +# Termine, die ausfallen. Der Plan rutscht ab dort um einen Slot nach hinten, +# die Beitraege davor behalten ihr Datum -- sie sind schon erschienen. +# +# Warum nicht einfach START verschieben: das haette auch die vier Beitraege +# mitgenommen, die am 14., 17., 19. und 21.08. tatsaechlich draussen waren. +# Ein Plan, der rueckwirkend andere Termine behauptet, ist keiner. +# +# 24.08. Team-Chat war nicht fertig, rueckt auf Mi 26.08. +AUSGELASSEN = {"24.08."} -def slots(start: date, anzahl: int): - """Die Mo/Mi/Fr-Termine ab dem Starttag.""" + +def slots(start: date, anzahl: int, auslassen=frozenset()): + """Die Mo/Mi/Fr-Termine ab dem Starttag, ohne die ausgelassenen.""" raus, d = [], start while len(raus) < anzahl: if d.weekday() in TAGE: - raus.append((TAGE[d.weekday()], d.strftime("%d.%m."))) + stempel = d.strftime("%d.%m.") + if stempel not in auslassen: + raus.append((TAGE[d.weekday()], stempel)) d += timedelta(days=1) return raus @@ -65,16 +77,28 @@ PLAN = [ ("Häufige Fragen", "Carousel", "Die fünf Einwände, die immer kommen."), ] -TERMINE = slots(START, len(PLAN)) +TERMINE = slots(START, len(PLAN), AUSGELASSEN) + +# Wie viele Beitraege fertig im Generator liegen. Sie sind in der Tabelle +# gelb hinterlegt, und der Satz darueber nennt die Zahl -- beides kommt aus +# derselben Konstante, damit es nicht auseinanderlaeuft. +FERTIG = 4 +ZAHLWORT = {1: "Der eine markierte Termin ist", 2: "Die beiden markierten Termine sind", + 3: "Die drei markierten Termine sind", 4: "Die vier markierten Termine sind", + 5: "Die fünf markierten Termine sind"}[FERTIG] + +# Der erste Reel-Termin, gerechnet statt abgeschrieben. Im Text stand einmal +# fest "09.09." -- schon vor dieser Verschiebung lag er auf dem 11.09. +REEL = next(d for p, (t, d) in zip(PLAN, TERMINE) if p[1] == "Reel") SPANNE = TERMINE[0][1] + " bis " + TERMINE[-1][1] + START.strftime("%Y") ZEILEN = "".join( '
Fünfzehn Termine, alle um 12:00 Uhr. Die Reihenfolge ist nicht beliebig: erst warum es uns gibt, dann die Haltung, dann die Funktionen. Innerhalb der Funktionen von der - täglichen Last nach hinten zu dem, was Vorwissen braucht. Die beiden markierten - Termine sind gesetzt und liegen fertig im Generator, alles danach darf sich verschieben. + täglichen Last nach hinten zu dem, was Vorwissen braucht. {ZAHLWORT} gesetzt und + liegen fertig im Generator, alles danach darf sich verschieben.