Files
mostovik-backend/src/apps/parsers/clients/checko/datasets/okfs.py
Aleksandr Meshchriakov ea473f0f2d
Some checks failed
CI/CD Pipeline / Build & Push Images (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
Исправлены падения тестов и Telegram-уведомления CI
- Исправлен импорт 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
2026-02-18 13:36:47 +01:00

50 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
ОКФС (ОК 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", ""),
)