mirror of
https://github.com/RGBCube/GitHubWrapper
synced 2025-05-17 14:35:09 +00:00
Add search routes
This commit is contained in:
parent
ea545e27a3
commit
ccae209793
2 changed files with 182 additions and 2 deletions
|
@ -97,7 +97,7 @@ class RateLimits(NamedTuple):
|
||||||
# Releases
|
# Releases
|
||||||
# Repositories DONE
|
# Repositories DONE
|
||||||
# SCIM
|
# SCIM
|
||||||
# Search
|
# Search DONE
|
||||||
# Teams
|
# Teams
|
||||||
# Users DONE
|
# Users DONE
|
||||||
# Webhooks
|
# Webhooks
|
||||||
|
@ -1368,3 +1368,183 @@ class HTTPClient:
|
||||||
|
|
||||||
async def get_the_zen_of_github(self):
|
async def get_the_zen_of_github(self):
|
||||||
return await self.request("GET", "/zen")
|
return await self.request("GET", "/zen")
|
||||||
|
|
||||||
|
# === SEARCH === #
|
||||||
|
|
||||||
|
async def search_code(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[Literal["indexed"]] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
data = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
data["sort"] = sort
|
||||||
|
if order:
|
||||||
|
data["order"] = order
|
||||||
|
if per_page:
|
||||||
|
data["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
data["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/code", data=data)
|
||||||
|
|
||||||
|
async def search_commits(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[Literal["author-date", "committer-date"]] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
params["sort"] = sort
|
||||||
|
if order:
|
||||||
|
params["order"] = order
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/commits", params=params)
|
||||||
|
|
||||||
|
async def search_issues_and_pull_requests(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[
|
||||||
|
Literal[
|
||||||
|
"comments",
|
||||||
|
"reactions",
|
||||||
|
"reactions-+1",
|
||||||
|
"reactions--1",
|
||||||
|
"reactions-smile",
|
||||||
|
"reactions-thinking_face",
|
||||||
|
"reactions-heart",
|
||||||
|
"reactions-tada",
|
||||||
|
"interactions",
|
||||||
|
"created",
|
||||||
|
"updated",
|
||||||
|
]
|
||||||
|
] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
params["sort"] = sort
|
||||||
|
if order:
|
||||||
|
params["order"] = order
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/issues", params=params)
|
||||||
|
|
||||||
|
async def search_labels(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
repository_id: int,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[Literal["created", "updated"]] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"repository_id": repository_id,
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
params["sort"] = sort
|
||||||
|
if order:
|
||||||
|
params["order"] = order
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/labels", params=params)
|
||||||
|
|
||||||
|
async def search_repos(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[Literal["stars", "forks", "help-wanted-issues", "updated"]] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
params["sort"] = sort
|
||||||
|
if order:
|
||||||
|
params["order"] = order
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/repositories", params=params)
|
||||||
|
|
||||||
|
async def search_topics(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/topics", params=params)
|
||||||
|
|
||||||
|
async def search_users(
|
||||||
|
self,
|
||||||
|
*,
|
||||||
|
q: str,
|
||||||
|
sort: Optional[Literal["followers", "repositories", "joined"]] = None,
|
||||||
|
order: Optional[Literal["desc", "asc"]] = None,
|
||||||
|
per_page: Optional[int] = None,
|
||||||
|
page: Optional[int] = None,
|
||||||
|
):
|
||||||
|
params = {
|
||||||
|
"q": q,
|
||||||
|
}
|
||||||
|
|
||||||
|
if sort:
|
||||||
|
params["sort"] = sort
|
||||||
|
if order:
|
||||||
|
params["order"] = order
|
||||||
|
if per_page:
|
||||||
|
params["per_page"] = per_page
|
||||||
|
if page:
|
||||||
|
params["page"] = page
|
||||||
|
|
||||||
|
return await self.request("GET", "/search/users", params=params)
|
||||||
|
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||||
__all__ = ("generate",)
|
__all__ = ("generate",)
|
||||||
|
|
||||||
from random import randint
|
from random import randint
|
||||||
from typing import Tuple, Optional # , Any
|
from typing import Optional, Tuple # , Any
|
||||||
|
|
||||||
types = {
|
types = {
|
||||||
"string": "str",
|
"string": "str",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue