Module hdrezka.api.search
Implementation of search on HDRezka pages (see post.page.Page).
Classes
class Search (query: str = '', *, client: HDRezkaClient)-
Expand source code
class Search(Page): """HDRezka search listing bound to a client session.""" __slots__ = ('_query',) def __init__(self, query: str = '', *, client: 'HDRezkaClient'): """ :param query: Search query string. :param client: Session used for HTTP requests and host resolution. """ self._query = (query if isinstance(query, str) else str(query)).strip() super().__init__(self._search_url(client, self._query), client=client) @staticmethod def _search_url(client: 'HDRezkaClient', query: str) -> str: return client.host_join(f'search/?do=search&subaction=search&q={query}') def search_url(self, query: str) -> str: """Return the search URL for ``query`` on this client's host.""" return self._search_url(self.client, query) @property def query(self) -> str: """Current search query.""" return self._query @query.setter def query(self, value): """Cast value to str and refresh the page URL.""" self._query = value if isinstance(value, str) else str(value) self.page = self.search_url(self.query) @staticmethod @override def _concat_paginator(url: str) -> str: return f'{url}&page={{0}}' def __repr__(self): return f"{self.__class__.__qualname__}({repr(self.query) if self.query else ''})"HDRezka search listing bound to a client session.
:param query: Search query string. :param client: Session used for HTTP requests and host resolution.
Ancestors
Instance variables
prop query : str-
Expand source code
@property def query(self) -> str: """Current search query.""" return self._queryCurrent search query.
Methods
def search_url(self, query: str) ‑> str-
Expand source code
def search_url(self, query: str) -> str: """Return the search URL for ``query`` on this client's host.""" return self._search_url(self.client, query)Return the search URL for
queryon this client's host.
Inherited members