catfood.functions.github.api

提供一些与 GitHub API 操作相关的函数

GitHub REST API 文档: https://docs.github.com/zh/rest

catfood.functions.github.api.get_github_file_content(repo: str, path: str, token: str | None = None) str | None

尝试通过 GitHub API 获取文本文件 base64,解码后返回。

参数:
  • repo (str) -- 文件所在的仓库,应为 owner/repo 的格式。

  • path (str) -- 需要获取的文件在仓库中的相对路径。

  • token (str | None) -- 请求时附带的 GitHub Token。

返回:

UTF-8 编码解码后的文本文件字符串。 None: 获取失败。

返回类型:

str

catfood.functions.github.api.get_github_token_owner(token: str | None) str | None

通过 GitHub API 来获取这个 Token 的所有者。

参数:

token (str | None) -- 指定的 GitHub Token。

返回:

Token 的所有者。 None: 获取失败。

返回类型:

str

catfood.functions.github.api.request_github_api(api: str, params: dict[str, Any] | None = None, headers: dict[str, Any] | None = None, json: dict[str, Any] | None = None, data: dict[str, Any] | None = None, token: str | None = None, method: str = 'GET', api_version: Literal['2022-11-28', '2026-03-10'] = '2026-03-10', raiseException: bool = False) Any | None

向指定的 GitHub API 发送请求,返回 .json() 后的响应内容

参数:
  • api (str) -- 指定的 GitHub API 链接

  • params (dict[str, Any] | None) -- 请求的参数

  • headers (dict[str, Any] | None) -- 请求头,None 为默认请求头

  • json (dict[str, Any] | None) -- 请求附带的 json

  • data (dict[str, Any] | None) -- 请求附带的 data

  • token (str | None) -- 请求使用的 GitHub Token

  • method (str) -- 请求使用的方法,默认为 GET

  • api_version (Literal["2022-11-28", "2026-03-10"]) -- 请求时 X-GitHub-Api-Version 指定的 GitHub API 版本。有关 GitHub API 版本信息请参考 https://docs.github.com/zh/rest/about-the-rest-api/api-versions

  • raiseException (bool) -- 在捕获到异常时是否直接 raise 出来

返回:

.json() 后的响应。 None: 捕获到异常且 raiseExceptionFalse 时返回。

返回类型:

Any

catfood.functions.github.api.获取GitHub文件内容(repo: str, path: str, token: str | None = None) str | None

此函数的名称已修改为 get_github_file_content,请改用新名称。

此函数仅作为过渡保留,未来可能移除。

---

尝试通过 GitHub API 获取文本文件 base64,解码后返回。

参数:
  • repo (str) -- 文件所在的仓库,应为 owner/repo 的格式。

  • path (str) -- 需要获取的文件在仓库中的相对路径。

  • token (str | None) -- 请求时附带的 GitHub Token。

返回:

UTF-8 编码解码后的文本文件字符串。 None: 获取失败。

返回类型:

str

catfood.functions.github.api.请求GitHubAPI(api: str, params: dict[str, Any] | None = None, headers: dict[str, Any] | None = None, json: dict[str, Any] | None = None, data: dict[str, Any] | None = None, token: str | None = None, method: str = 'GET', api_version: Literal['2022-11-28', '2026-03-10'] = '2026-03-10', raiseException: bool = False) Any | None

此函数的名称已修改为 request_github_api,请改用新名称。

此函数仅作为过渡保留,未来可能移除。

---

向指定的 GitHub API 发送请求,返回 .json() 后的响应内容

参数:
  • api (str) -- 指定的 GitHub API 链接

  • params (dict[str, Any] | None) -- 请求的参数

  • headers (dict[str, Any] | None) -- 请求头,None 为默认请求头

  • json (dict[str, Any] | None) -- 请求附带的 json

  • data (dict[str, Any] | None) -- 请求附带的 data

  • token (str | None) -- 请求使用的 GitHub Token

  • method (str) -- 请求使用的方法,默认为 GET

  • api_version (Literal["2022-11-28", "2026-03-10"]) -- 请求时 X-GitHub-Api-Version 指定的 GitHub API 版本。有关 GitHub API 版本信息请参考 https://docs.github.com/zh/rest/about-the-rest-api/api-versions

  • raiseException (bool) -- 在捕获到异常时是否直接 raise 出来

返回:

.json() 后的响应。 None: 捕获到异常且 raiseExceptionFalse 时返回。

返回类型:

Any

catfood.functions.github.api.这是谁的Token(token: str | None) str | None

此函数的名称已修改为 get_github_token_owner,请改用新名称。

此函数仅作为过渡保留,未来可能移除。

---

通过 GitHub API 来获取这个 Token 的所有者。

参数:

token (str | None) -- 指定的 GitHub Token。

返回:

Token 的所有者。 None: 获取失败。

返回类型:

str