fix: trimester were fourmesters

This commit is contained in:
2026-06-18 19:56:28 +02:00
parent 35bf90aa0c
commit ca0867b2c7
8 changed files with 43 additions and 37 deletions
+12 -5
View File
@@ -70,11 +70,18 @@ translatedSignatureDates = {
}
# used in bernAsianHornet.py
translatedBernAsianHornetSightings = {
"en": ("Asian Hornet sightings in Bern"),
"fr": ("Observations de frelons asiatiques à Berne"),
"de": ("Sichtungen von Asiatischen Hornissen in Bern"),
"it": ("Avvistamenti di calabroni asiatici a Berna"),
"rm": ("Observaziuns da vespras asiaticas a Berna"),
"en": "Asian Hornet sightings in Bern",
"fr": "Observations de frelons asiatiques à Berne",
"de": "Sichtungen von Asiatischen Hornissen in Bern",
"it": "Avvistamenti di calabroni asiatici a Berna",
"rm": "Observaziuns da vespras asiaticas a Berna",
}
translatedObservations = {
"en": "sightings",
"fr": "observations",
"de": "Sichtungen",
"it": "avvistamenti",
"rm": "Observaziuns"
}
# used in bernReligionMap.py
translatedPlacesOfWorshipInBern = {
+23 -24
View File
@@ -118,34 +118,33 @@ def weeklyRangesFrom(start_date: date):
return weeks
def trimester_start(d: date) -> date:
if d.month <= 4:
return date(d.year, 1, 1)
elif d.month <= 8:
return date(d.year, 5, 1)
else:
return date(d.year, 9, 1)
trimester_index = (d.month - 1) // 3
start_month = trimester_index * 3 + 1
return date(d.year, start_month, 1)
def next_trimester_start(d: date) -> date:
if d.month <= 4:
return date(d.year, 5, 1)
elif d.month <= 8:
return date(d.year, 9, 1)
else:
return date(d.year + 1, 1, 1)
def trimesterRangesFrom(start_date: date):
today = date.today()
start = trimester_start(d)
month = start.month + 3
if month > 12:
return date(start.year + 1, 1, 1)
return date(start.year, month, 1)
def trimesterRangesFrom(start_date: date, as_of: date | None = None):
today = as_of or date.today()
current_trimester_start = trimester_start(today)
start = trimester_start(start_date)
current_start = trimester_start(today)
trimesters = []
ranges = []
while start < current_trimester_start:
next_start = next_trimester_start(start)
end = next_start - timedelta(days=1)
while start < current_start:
nxt = next_trimester_start(start)
ranges.append((start, nxt - timedelta(days=1)))
start = nxt
trimesters.append((start, end))
start = next_start
return trimesters
return ranges