Исходный код cdek.apps.office.office

from __future__ import annotations

from ..app import App
from .filters import OfficeFilter
from .responses import OfficeResponse


[документация] class OfficeApp(App): """Класс для работы с ПВЗ СДЭК""" @property def headers(self) -> dict[str, str]: return { key: value for key, value in self._response_headers.items() if key.startswith("X-") } def _get_offices( self, filter_params: OfficeFilter | None = None ) -> list[OfficeResponse]: """Получение списка ПВЗ СДЭК Args: filter_params (OfficeFilter): фильтр для получения списка ПВЗ СДЭК Returns: list[OfficeResponse]: список объектов OfficeResponse с информацией о ПВЗ Raises: ValueError: если filter_params не является объектом OfficeFilter """ if filter_params is not None and not isinstance(filter_params, OfficeFilter): raise ValueError("filter_params must be a OfficeFilter instance") response = self._get("deliverypoints", params=filter_params) return [OfficeResponse.model_validate(office) for office in response]
[документация] def get( self, filter_params: OfficeFilter | None = None ) -> dict[str, list[OfficeResponse] | dict]: # type: ignore """Получение списка ПВЗ СДЭК Args: filter_params (OfficeFilter): фильтр для получения списка ПВЗ СДЭК Returns: list[OfficeResponse]: список объектов OfficeResponse с информацией о ПВЗ dict: заголовки ответа """ return {"result": self._get_offices(filter_params), "headers": self.headers}