Add conference series pages

This commit is contained in:
Edward Betts 2026-06-22 10:25:55 +01:00
parent 098c7e4447
commit 57b2db205d
9 changed files with 367 additions and 3 deletions

View file

@ -283,6 +283,7 @@ def check_conferences() -> None:
filepath = os.path.join(data_dir, "conferences.yaml")
conferences_data = yaml.safe_load(open(filepath, "r"))
conferences = [agenda.conference.Conference(**conf) for conf in conferences_data]
series = agenda.conference.load_series(data_dir)
prev_start = None
prev_conf_data = None
@ -297,6 +298,11 @@ def check_conferences() -> None:
check_country_code(conf_data, "conference", required=False)
check_conference_dates(conf_data)
series_id = conf_data.get("series")
if series_id is not None and series_id not in series:
pprint(conf_data)
print(f"conference references unknown series {series_id!r}")
sys.exit(-1)
date_fields = agenda.conference.conference_date_fields(conf_data)
current_start = normalize_datetime(date_fields["sort_date"])
@ -316,6 +322,21 @@ def check_conferences() -> None:
print(len(conferences), "conferences")
def check_conference_series() -> None:
"""Check conference series metadata."""
series = agenda.conference.load_series(data_dir)
for series_id, item in series.items():
if not isinstance(series_id, str):
print(f"conference series id must be a string: {series_id!r}")
sys.exit(-1)
if "name" not in item:
pprint(item)
print(f"conference series {series_id!r} missing name")
sys.exit(-1)
check_country_code(item, "conference series", required=False)
print(len(series), "conference series")
def check_events() -> None:
"""Check events."""
today = date.today()
@ -505,6 +526,7 @@ def check() -> None:
check_trains()
check_ferries()
check_buses()
check_conference_series()
check_conferences()
check_events()
check_accommodation()