31 lines
954 B
Python
31 lines
954 B
Python
# /opt/docker/dev/service_finder/backend/app/core/context.py
|
|
"""
|
|
Context management for request-scoped variables, particularly locale/language.
|
|
Uses contextvars to store the current request's locale for i18n purposes.
|
|
"""
|
|
import contextvars
|
|
from typing import Optional
|
|
|
|
# Context variable to store the current request's locale
|
|
# Default value is "hu" (Hungarian) as per project requirements
|
|
current_locale: contextvars.ContextVar[str] = contextvars.ContextVar(
|
|
"current_locale", default="hu"
|
|
)
|
|
|
|
def get_current_locale() -> str:
|
|
"""
|
|
Get the current locale from the context.
|
|
Returns the default "hu" if not set.
|
|
"""
|
|
return current_locale.get()
|
|
|
|
def set_current_locale(locale: str) -> None:
|
|
"""
|
|
Set the current locale in the context.
|
|
Should be called by middleware or other request processors.
|
|
"""
|
|
current_locale.set(locale)
|
|
|
|
# Alias for convenience
|
|
get_locale = get_current_locale
|
|
set_locale = set_current_locale |