feat(parsers): добавлен API клиент для checko.ru
- Реализован CheckoClient с поддержкой всех 10 эндпоинтов API v2 - Frozen dataclass модели для запросов и ответов - Справочники ОКВЭД2, ОКФС, ОКОПФ, ОКПД, статусы компаний - Маппинг русских полей API на английские имена - Unit тесты с моками - E2E тесты с реальными запросами - Настройка CHECKO_API_KEY в settings.py
This commit is contained in:
46
src/apps/parsers/clients/checko/datasets/okfs.py
Normal file
46
src/apps/parsers/clients/checko/datasets/okfs.py
Normal file
@@ -0,0 +1,46 @@
|
||||
"""
|
||||
ОКФС (ОК 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"
|
||||
|
||||
@classmethod
|
||||
def _parse_item(cls, raw: dict) -> OkfsItem:
|
||||
return OkfsItem(
|
||||
code=raw.get("code", ""),
|
||||
name=raw.get("name", ""),
|
||||
)
|
||||
Reference in New Issue
Block a user