mirror of
https://github.com/mealie-recipes/mealie.git
synced 2026-07-18 13:40:16 -04:00
feat: Structured Yields (#4489)
Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from dataclasses import dataclass, field
|
||||
from functools import cached_property
|
||||
from pathlib import Path
|
||||
|
||||
from .json_provider import JsonProvider
|
||||
@@ -10,7 +11,7 @@ class InUseProvider:
|
||||
locks: int
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
@dataclass
|
||||
class ProviderFactory:
|
||||
directory: Path
|
||||
fallback_locale: str = "en-US"
|
||||
@@ -22,6 +23,10 @@ class ProviderFactory:
|
||||
def fallback_file(self) -> Path:
|
||||
return self.directory / self.filename_format.format(locale=self.fallback_locale, format="json")
|
||||
|
||||
@cached_property
|
||||
def supported_locales(self) -> list[str]:
|
||||
return [path.stem for path in self.directory.glob(self.filename_format.format(locale="*", format="json"))]
|
||||
|
||||
def _load(self, locale: str) -> JsonProvider:
|
||||
filename = self.filename_format.format(locale=locale, format="json")
|
||||
path = self.directory / filename
|
||||
|
||||
Reference in New Issue
Block a user