Source code for jp_diet_search.endpoints

from __future__ import annotations

from typing import Any, Dict, Optional

from .core import _DietCore
from .queries import MeetingListQuery, MeetingQuery, SpeechQuery


[docs] class MeetingListEndpoint: def __init__(self, core: _DietCore) -> None: self._core = core
[docs] def search(self, query: MeetingListQuery, *, limit_total: Optional[int] = None) -> Dict[str, Any]: endpoint = f"{self._core.base_url}/meeting_list" return self._core.search_records(endpoint=endpoint, record_key="meetingRecord", params=query.to_params(), limit_total=limit_total)
[docs] def search_any(self, text: str, *, maximum_records: int = 100, limit_total: Optional[int] = None) -> Dict[str, Any]: q = MeetingListQuery(any=text, maximum_records=maximum_records) return self.search(q, limit_total=limit_total)
[docs] class MeetingEndpoint: def __init__(self, core: _DietCore) -> None: self._core = core
[docs] def search(self, query: MeetingQuery, *, limit_total: Optional[int] = None) -> Dict[str, Any]: endpoint = f"{self._core.base_url}/meeting" return self._core.search_records(endpoint=endpoint, record_key="meetingRecord", params=query.to_params(), limit_total=limit_total)
[docs] def search_any(self, text: str, *, maximum_records: int = 10, limit_total: Optional[int] = None) -> Dict[str, Any]: q = MeetingQuery(any=text, maximum_records=maximum_records) return self.search(q, limit_total=limit_total)
[docs] class SpeechEndpoint: def __init__(self, core: _DietCore) -> None: self._core = core
[docs] def search(self, query: SpeechQuery, *, limit_total: Optional[int] = None) -> Dict[str, Any]: endpoint = f"{self._core.base_url}/speech" return self._core.search_records(endpoint=endpoint, record_key="speechRecord", params=query.to_params(), limit_total=limit_total)
[docs] def search_any(self, text: str, *, maximum_records: int = 100, limit_total: Optional[int] = None) -> Dict[str, Any]: q = SpeechQuery(any=text, maximum_records=maximum_records) return self.search(q, limit_total=limit_total)
[docs] def search_by_speaker( self, speaker: str, *, from_date: str | None = None, until_date: str | None = None, maximum_records: int = 100, limit_total: Optional[int] = None, ) -> Dict[str, Any]: q = SpeechQuery(speaker=speaker, from_date=from_date, until_date=until_date, maximum_records=maximum_records) return self.search(q, limit_total=limit_total)