Compare commits
2 commits
4c651198f3
...
964bbb1162
Author | SHA1 | Date | |
---|---|---|---|
Edward Betts | 964bbb1162 | ||
Edward Betts | 6c76610cdb |
|
@ -97,8 +97,8 @@ def find_events_during_stay(
|
||||||
async def time_function(
|
async def time_function(
|
||||||
name: str,
|
name: str,
|
||||||
func: typing.Callable[..., typing.Coroutine[typing.Any, typing.Any, typing.Any]],
|
func: typing.Callable[..., typing.Coroutine[typing.Any, typing.Any, typing.Any]],
|
||||||
*args,
|
*args: typing.Any,
|
||||||
**kwargs,
|
**kwargs: typing.Any,
|
||||||
) -> tuple[str, typing.Any, float, Exception | None]:
|
) -> tuple[str, typing.Any, float, Exception | None]:
|
||||||
"""Time the execution of an asynchronous function."""
|
"""Time the execution of an asynchronous function."""
|
||||||
start_time, result, exception = time(), None, None
|
start_time, result, exception = time(), None, None
|
||||||
|
@ -110,6 +110,24 @@ async def time_function(
|
||||||
return name, result, end_time - start_time, exception
|
return name, result, end_time - start_time, exception
|
||||||
|
|
||||||
|
|
||||||
|
def hide_markets_while_away(
|
||||||
|
events: list[Event], accommodation_events: list[Event]
|
||||||
|
) -> None:
|
||||||
|
"""Hide markets that happen while away."""
|
||||||
|
optional = [
|
||||||
|
e
|
||||||
|
for e in events
|
||||||
|
if e.name == "market" or (e.title and "LHG Run Club" in e.title)
|
||||||
|
]
|
||||||
|
going = [e for e in events if e.going]
|
||||||
|
|
||||||
|
overlapping_markets = find_events_during_stay(
|
||||||
|
accommodation_events + going, optional
|
||||||
|
)
|
||||||
|
for market in overlapping_markets:
|
||||||
|
events.remove(market)
|
||||||
|
|
||||||
|
|
||||||
async def get_data(
|
async def get_data(
|
||||||
now: datetime, config: flask.config.Config
|
now: datetime, config: flask.config.Config
|
||||||
) -> typing.Mapping[str, str | object]:
|
) -> typing.Mapping[str, str | object]:
|
||||||
|
@ -210,19 +228,8 @@ async def get_data(
|
||||||
events += hn.whoishiring(last_year, next_year)
|
events += hn.whoishiring(last_year, next_year)
|
||||||
events += carnival.rio_carnival_events(last_year, next_year)
|
events += carnival.rio_carnival_events(last_year, next_year)
|
||||||
|
|
||||||
# hide markets that happen while away
|
if config["HIDE_MARKETS_WHILE_AWAY"]:
|
||||||
optional = [
|
hide_markets_while_away(events, accommodation_events)
|
||||||
e
|
|
||||||
for e in events
|
|
||||||
if e.name == "market" or (e.title and "LHG Run Club" in e.title)
|
|
||||||
]
|
|
||||||
going = [e for e in events if e.going]
|
|
||||||
|
|
||||||
overlapping_markets = find_events_during_stay(
|
|
||||||
accommodation_events + going, optional
|
|
||||||
)
|
|
||||||
for market in overlapping_markets:
|
|
||||||
events.remove(market)
|
|
||||||
|
|
||||||
for launch in rockets:
|
for launch in rockets:
|
||||||
dt = None
|
dt = None
|
||||||
|
|
Loading…
Reference in a new issue