|
|
| from __future__ import annotations
|
|
|
| from functools import lru_cache
|
|
|
| from ui.intake.loader import load_intake_choices
|
|
|
| _choices = load_intake_choices()
|
|
|
| FALLBACK_COUNTRIES = _choices["fallback_countries"]
|
| EDUCATION_CHOICES = _choices["education"]
|
| OCCUPATION_CHOICES = _choices["occupation"]
|
| EXPERIENCE_CHOICES = _choices["experience"]
|
| LANGUAGE_CHOICES = _choices["languages"]
|
| BUDGET_CHOICES = _choices["budget"]
|
| FAMILY_CHOICES = _choices["family"]
|
| TIMELINE_CHOICES = _choices["timeline"]
|
| RESIDENCE_STATUS_CHOICES = _choices["residence_status"]
|
|
|
|
|
| @lru_cache(maxsize=1)
|
| def country_choices() -> list[str]:
|
| try:
|
| from apis.rest_countries import _country_index
|
|
|
| return sorted(
|
| entry["name"] for entry in _country_index()["iso2"].values()
|
| )
|
| except Exception:
|
| return list(FALLBACK_COUNTRIES)
|
|
|