"""Agenda functions.""" from datetime import date, datetime, time import pycountry import pytz uk_tz = pytz.timezone("Europe/London") def uk_time(d: date, t: time) -> datetime: """Combine time and date for UK timezone.""" return uk_tz.localize(datetime.combine(d, t)) def format_list_with_ampersand(items: list[str]) -> str: """Join a list of strings with commas and an ampersand.""" if len(items) > 1: return ", ".join(items[:-1]) + " & " + items[-1] elif items: return items[0] return "" def get_country(alpha_2: str) -> pycountry.db.Country | None: """Lookup country by alpha-2 country code.""" if alpha_2.count(",") > 10: # ESA return pycountry.db.Country(flag="🇪🇺", name="ESA") if not alpha_2: return None if alpha_2 == "xk": return pycountry.db.Country( flag="\U0001F1FD\U0001F1F0", name="Kosovo", alpha_2="xk" ) country: pycountry.db.Country if len(alpha_2) == 2: country = pycountry.countries.get(alpha_2=alpha_2.upper()) elif len(alpha_2) == 3: country = pycountry.countries.get(alpha_3=alpha_2.upper()) return country