- Исправлен импорт core.celery в тестах health-check вместо устаревшего config.celery - Добавлен fallback для Checko datasets при отсутствии JSON-файлов в CI - Обновлен BaseDataset: загрузка встроенных данных при missing JSON - Прокинуты TG_BOT_KEY/TG_CHANNEL из secrets в jobs lint/test/build_push
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
"""
|
||
ОКФС (ОК 027-99) - Общероссийский классификатор форм собственности.
|
||
|
||
Использование:
|
||
from apps.parsers.clients.checko.datasets import OKFS
|
||
|
||
# Получить название по коду
|
||
name = OKFS.get_name("16") # -> "Частная собственность"
|
||
|
||
# Получить полный объект
|
||
item = OKFS.get("16")
|
||
"""
|
||
|
||
from dataclasses import dataclass
|
||
from typing import ClassVar
|
||
|
||
from apps.parsers.clients.checko.datasets.base import BaseDataset
|
||
|
||
|
||
@dataclass(frozen=True)
|
||
class OkfsItem:
|
||
"""Элемент справочника ОКФС."""
|
||
|
||
code: str
|
||
"""Код формы собственности."""
|
||
|
||
name: str
|
||
"""Наименование формы собственности."""
|
||
|
||
|
||
class OKFS(BaseDataset[OkfsItem]):
|
||
"""
|
||
Справочник ОКФС (формы собственности).
|
||
|
||
Данные: ОК 027-99.
|
||
"""
|
||
|
||
_data: ClassVar[dict[str, OkfsItem] | None] = None
|
||
_json_filename: ClassVar[str] = "okfs.json"
|
||
_builtin_raw_data: ClassVar[list[dict]] = [
|
||
{"code": "16", "name": "Частная собственность"},
|
||
]
|
||
|
||
@classmethod
|
||
def _parse_item(cls, raw: dict) -> OkfsItem:
|
||
return OkfsItem(
|
||
code=raw.get("code", ""),
|
||
name=raw.get("name", ""),
|
||
)
|