Code to run from cron to update bank holiday list
This commit is contained in:
parent
3cb03a787c
commit
8df94aaafb
2 changed files with 40 additions and 5 deletions
|
|
@ -10,12 +10,24 @@ from dateutil.easter import easter
|
|||
|
||||
from .types import Holiday, StrDict
|
||||
|
||||
url = "https://www.gov.uk/bank-holidays.json"
|
||||
|
||||
|
||||
async def get_holiday_list(data_dir: str) -> list[StrDict]:
|
||||
"""Download holiday list and save cache."""
|
||||
filename = os.path.join(data_dir, "bank-holidays.json")
|
||||
|
||||
async with httpx.AsyncClient() as client:
|
||||
r = await client.get(url)
|
||||
events: list[StrDict] = r.json()["england-and-wales"]["events"] # check valid
|
||||
open(filename, "w").write(r.text)
|
||||
return events
|
||||
|
||||
|
||||
async def bank_holiday_list(
|
||||
start_date: date, end_date: date, data_dir: str
|
||||
) -> list[Holiday]:
|
||||
"""Date and name of the next UK bank holiday."""
|
||||
url = "https://www.gov.uk/bank-holidays.json"
|
||||
filename = os.path.join(data_dir, "bank-holidays.json")
|
||||
use_cached = False
|
||||
events: list[StrDict]
|
||||
|
|
@ -29,10 +41,7 @@ async def bank_holiday_list(
|
|||
use_cached = False
|
||||
|
||||
if not use_cached:
|
||||
async with httpx.AsyncClient() as client:
|
||||
r = await client.get(url)
|
||||
open(filename, "w").write(r.text)
|
||||
events = json.load(open(filename))["england-and-wales"]["events"]
|
||||
events = await get_holiday_list(data_dir)
|
||||
|
||||
hols: list[Holiday] = []
|
||||
for event in events:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue