Compare commits
3 commits
ace517c482
...
9f54c3ac03
Author | SHA1 | Date | |
---|---|---|---|
Edward Betts | 9f54c3ac03 | ||
Edward Betts | 5b9a481bb2 | ||
Edward Betts | f63b4d6b08 |
|
@ -36,6 +36,7 @@ from . import (
|
|||
uk_holiday,
|
||||
)
|
||||
from .types import Event, StrDict
|
||||
from .utils import time_function
|
||||
|
||||
here = dateutil.tz.tzlocal()
|
||||
|
||||
|
@ -59,7 +60,7 @@ def timezone_transition(
|
|||
]
|
||||
|
||||
|
||||
async def waste_collection_events(
|
||||
async def n_somerset_waste_collection_events(
|
||||
data_dir: str, postcode: str, uprn: str
|
||||
) -> list[Event]:
|
||||
"""Waste colllection events."""
|
||||
|
@ -94,22 +95,6 @@ def find_events_during_stay(
|
|||
return overlapping_markets
|
||||
|
||||
|
||||
async def time_function(
|
||||
name: str,
|
||||
func: typing.Callable[..., typing.Coroutine[typing.Any, typing.Any, typing.Any]],
|
||||
*args: typing.Any,
|
||||
**kwargs: typing.Any,
|
||||
) -> tuple[str, typing.Any, float, Exception | None]:
|
||||
"""Time the execution of an asynchronous function."""
|
||||
start_time, result, exception = time(), None, None
|
||||
try:
|
||||
result = await func(*args, **kwargs)
|
||||
except Exception as e:
|
||||
exception = e
|
||||
end_time = time()
|
||||
return name, result, end_time - start_time, exception
|
||||
|
||||
|
||||
def hide_markets_while_away(
|
||||
events: list[Event], accommodation_events: list[Event]
|
||||
) -> None:
|
||||
|
@ -167,7 +152,7 @@ async def get_data(now: datetime, config: flask.config.Config) -> AgendaData:
|
|||
time_function("gwr_advance_tickets", gwr.advance_ticket_date, data_dir),
|
||||
time_function(
|
||||
"backwell_bins",
|
||||
waste_collection_events,
|
||||
n_somerset_waste_collection_events,
|
||||
data_dir,
|
||||
config["BACKWELL_POSTCODE"],
|
||||
config["BACKWELL_UPRN"],
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import typing
|
||||
from datetime import datetime
|
||||
|
||||
import ephem
|
||||
import ephem # type: ignore
|
||||
|
||||
|
||||
def bristol() -> ephem.Observer:
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
"""Utility functions."""
|
||||
|
||||
import os
|
||||
import typing
|
||||
from datetime import date, datetime, timezone
|
||||
from time import time
|
||||
|
||||
|
||||
def as_date(d: datetime | date) -> date:
|
||||
|
@ -84,3 +86,19 @@ def make_waste_dir(data_dir: str) -> None:
|
|||
waste_dir = os.path.join(data_dir, "waste")
|
||||
if not os.path.exists(waste_dir):
|
||||
os.mkdir(waste_dir)
|
||||
|
||||
|
||||
async def time_function(
|
||||
name: str,
|
||||
func: typing.Callable[..., typing.Coroutine[typing.Any, typing.Any, typing.Any]],
|
||||
*args: typing.Any,
|
||||
**kwargs: typing.Any,
|
||||
) -> tuple[str, typing.Any, float, Exception | None]:
|
||||
"""Time the execution of an asynchronous function."""
|
||||
start_time, result, exception = time(), None, None
|
||||
try:
|
||||
result = await func(*args, **kwargs)
|
||||
except Exception as e:
|
||||
exception = e
|
||||
end_time = time()
|
||||
return name, result, end_time - start_time, exception
|
||||
|
|
Loading…
Reference in a new issue