Enhance error handling in leave loading and update date parsing logic; add new site preference for Exeter shifts.

This commit is contained in:
Ross
2026-01-05 20:01:41 +00:00
parent 94b921192f
commit b98c28401f
2 changed files with 119 additions and 50 deletions
+17 -13
View File
@@ -138,6 +138,7 @@ def main(
"exeter twilights and weekends",
"exeter no nights",
"exeter weekends",
"exeter twilights",
),
name="weekend_exeter",
length=12.5,
@@ -303,13 +304,18 @@ def main(
site = w["site"]
except KeyError:
print(f"Worker {worker} has no site")
raise KeyError
print(w)
sys.exit(1)
grade = w["grade"]
try:
fte = float(w["fte"]) * 100
except ValueError:
print(f"{worker} has invalid fte: {fte}")
raise ValueError
except KeyError:
print(f"Worker {worker} has no FTE")
print(w)
sys.exit(1)
nwd = w["nwd"]
end_date = w["end_date"]
@@ -374,10 +380,10 @@ def main(
formatted_oops.append(
{
"start_date": datetime.datetime.strptime(
s.strip(), "%d/%m/%y"
s.strip(), "%d/%m/%Y"
).date(),
"end_date": datetime.datetime.strptime(
e.strip(), "%d/%m/%y"
e.strip(), "%d/%m/%Y"
).date(),
}
)
@@ -425,21 +431,19 @@ def main(
shift_fte_overrides = {}
#if worker_name == "Ben Kemp":
# shift_fte_overrides = {
# "plymouth_twilight": 100,
# "weekend_plymouth1": 50,
# "weekend_plymouth2": 50,
# }
if worker_name == "Hadi Mohamed":
shift_fte_overrides = {
"weekend_exeter": 50,
}
#elif worker_name == "Joel Lim":
# shift_fte_overrides = {
# "plymouth_twilight": 100,
# "weekend_exeter": 50,
# }
if worker_name == "Nang Thiriphoo":
shift_fte_overrides = {
"weekend_exeter": 40,
}
#if worker_name == "Nang Thiriphoo":
# shift_fte_overrides = {
# "weekend_exeter": 40,
# }
w = Worker(
name=worker_name,