All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 33s
99 lines
2.5 KiB
Python
99 lines
2.5 KiB
Python
from typing import Callable, List
|
|
|
|
from formula10 import cache
|
|
from formula10.domain.domain_model import Model
|
|
from formula10.domain.points_model import PointsModel
|
|
|
|
|
|
def cache_invalidate_user_updated() -> None:
|
|
caches: List[str] = [
|
|
"domain_all_users",
|
|
"domain_all_race_guesses",
|
|
"domain_all_season_guesses",
|
|
"points_points_per_step",
|
|
"points_user_standing",
|
|
]
|
|
|
|
memoized_caches: List[Callable] = [
|
|
PointsModel.points_by,
|
|
PointsModel.race_guesses_by,
|
|
PointsModel.season_guesses_by,
|
|
]
|
|
|
|
for c in caches:
|
|
cache.delete(c)
|
|
|
|
for c in memoized_caches:
|
|
cache.delete_memoized(c)
|
|
|
|
|
|
def cache_invalidate_race_result_updated() -> None:
|
|
caches: List[str] = [
|
|
"domain_all_race_results",
|
|
"points_points_per_step",
|
|
"points_team_points_per_step",
|
|
"points_dnfs",
|
|
"points_driver_points_per_step_cumulative",
|
|
"points_wdc_standing_by_position",
|
|
"points_wdc_standing_by_driver",
|
|
"points_most_dnf_names",
|
|
"points_most_gained_names",
|
|
"points_most_lost_names",
|
|
"points_team_points_per_step_cumulative",
|
|
"points_teams_sorted_by_points",
|
|
"points_wcc_standing_by_position",
|
|
"points_wcc_standing_by_team",
|
|
"points_user_standing",
|
|
"template_first_race_without_result",
|
|
]
|
|
|
|
memoized_caches: List[Callable] = [
|
|
PointsModel.driver_points_per_step,
|
|
PointsModel.driver_points_by,
|
|
PointsModel.total_driver_points_by,
|
|
PointsModel.drivers_sorted_by_points,
|
|
PointsModel.total_team_points_by,
|
|
PointsModel.points_by,
|
|
PointsModel.is_team_winner,
|
|
PointsModel.has_podium,
|
|
PointsModel.picks_with_points_count,
|
|
]
|
|
|
|
for c in caches:
|
|
cache.delete(c)
|
|
|
|
for c in memoized_caches:
|
|
cache.delete_memoized(c)
|
|
|
|
|
|
def cache_invalidate_race_guess_updated() -> None:
|
|
caches: List[str] = [
|
|
"domain_all_race_guesses",
|
|
]
|
|
|
|
memoized_caches: List[Callable] = [
|
|
Model.race_guesses_by,
|
|
]
|
|
|
|
for c in caches:
|
|
cache.delete(c)
|
|
|
|
for c in memoized_caches:
|
|
cache.delete_memoized(c)
|
|
|
|
|
|
def cache_invalidate_season_guess_updated() -> None:
|
|
caches: List[str] = [
|
|
"domain_all_season_guesses",
|
|
]
|
|
|
|
memoized_caches: List[Callable] = [
|
|
Model.season_guesses_by,
|
|
]
|
|
|
|
for c in caches:
|
|
cache.delete(c)
|
|
|
|
for c in memoized_caches:
|
|
cache.delete_memoized(c)
|