:calls: `GET /search/topics `_ :param query: string :param qualifiers: keyword dict query qualifiers :rtype: :class:`PaginatedList` of :class:`github.Topic.Topic`
(self, query: str, **qualifiers: Any)
| 874 | ) |
| 875 | |
| 876 | def search_topics(self, query: str, **qualifiers: Any) -> PaginatedList[Topic]: |
| 877 | """ |
| 878 | :calls: `GET /search/topics <https://docs.github.com/en/rest/reference/search>`_ |
| 879 | :param query: string |
| 880 | :param qualifiers: keyword dict query qualifiers |
| 881 | :rtype: :class:`PaginatedList` of :class:`github.Topic.Topic` |
| 882 | """ |
| 883 | assert isinstance(query, str), query |
| 884 | url_parameters = dict() |
| 885 | |
| 886 | query_chunks = [] |
| 887 | if query: # pragma no branch (Should be covered) |
| 888 | query_chunks.append(query) |
| 889 | |
| 890 | for qualifier, value in qualifiers.items(): |
| 891 | query_chunks.append(f"{qualifier}:{value}") |
| 892 | |
| 893 | url_parameters["q"] = " ".join(query_chunks) |
| 894 | assert url_parameters["q"], "need at least one qualifier" |
| 895 | |
| 896 | return PaginatedList( |
| 897 | github.Topic.Topic, |
| 898 | self.__requester, |
| 899 | "/search/topics", |
| 900 | url_parameters, |
| 901 | headers={"Accept": Consts.mediaTypeTopicsPreview}, |
| 902 | ) |
| 903 | |
| 904 | def render_markdown(self, text: str, context: Opt[Repository] = NotSet) -> str: |
| 905 | """ |
no test coverage detected