diff options
| author | 2023-06-04 20:34:14 +0100 | |
|---|---|---|
| committer | 2023-06-04 20:34:14 +0100 | |
| commit | 1a362c04eb4d5d8f3c531a590d73cf5d7300ace8 (patch) | |
| tree | accbe4d840b036dcc9502eed395f19400f5ad9a3 /docs/utils.py | |
| parent | Merge pull request #175 from python-discord/log-when-waiting-for-guild-to-be-... (diff) | |
| parent | Add changelog entry for ruff migration (diff) | |
Merge pull request #176 from python-discord/ruff-migration
Ruff migration
Diffstat (limited to 'docs/utils.py')
| -rw-r--r-- | docs/utils.py | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/docs/utils.py b/docs/utils.py index 3f58e767..3a20b87f 100644 --- a/docs/utils.py +++ b/docs/utils.py @@ -30,16 +30,15 @@ def get_build_root() -> Path:  def is_attribute(module: types.ModuleType, parameter: str) -> bool:      """Returns true if `parameter` is an attribute of `module`."""      docs = docstring_parser.parse(inspect.getdoc(module), docstring_parser.DocstringStyle.GOOGLE) -    for param in docs.params: +    for param in docs.params:  # noqa: SIM110          # The docstring_parser library can mis-parse arguments like `arg (:obj:`str`)` as `arg (`          # which would create a false-negative below, so we just strip away the extra parenthesis.          if param.args[0] == "attribute" and param.arg_name.rstrip(" (") == parameter:              return True -      return False -def linkcode_resolve(repo_link: str, domain: str, info: dict[str, str]) -> typing.Optional[str]: +def linkcode_resolve(repo_link: str, domain: str, info: dict[str, str]) -> str | None:      """      Function called by linkcode to get the URL for a given resource. @@ -79,8 +78,7 @@ def linkcode_resolve(repo_link: str, domain: str, info: dict[str, str]) -> typin              # This could be caused by trying to link a class attribute              if is_attribute(symbol[-1], name):                  break -            else: -                raise e +            raise e          symbol_name = name @@ -97,8 +95,8 @@ def linkcode_resolve(repo_link: str, domain: str, info: dict[str, str]) -> typin          pos = _global_assign_pos(source, symbol_name)          if pos is None:              raise Exception(f"Could not find symbol `{symbol_name}` in {module.__name__}.") -        else: -            start, end = pos + +        start, end = pos          _, offset = inspect.getsourcelines(symbol[-2])          if offset != 0:              offset -= 1 @@ -126,7 +124,7 @@ class NodeWithBody(typing.Protocol):      body: list[ast.AST] -def _global_assign_pos(ast_: NodeWithBody, name: str) -> typing.Union[tuple[int, int], None]: +def _global_assign_pos(ast_: NodeWithBody, name: str) -> tuple[int, int] | None:      """      Find the first instance where the `name` global is defined in `ast_`. @@ -149,6 +147,7 @@ def _global_assign_pos(ast_: NodeWithBody, name: str) -> typing.Union[tuple[int,              pos_in_if = _global_assign_pos(ast_obj, name)              if pos_in_if is not None:                  return pos_in_if +    return None  def cleanup() -> None: @@ -200,7 +199,7 @@ def build_api_doc() -> None:          logger.info(f"Skipping api-doc for {output_folder.as_posix()} as it already exists.")          return -    result = subprocess.run(cmd, cwd=build_root, stdout=subprocess.PIPE, check=True, env=os.environ) +    result = subprocess.run(cmd, cwd=build_root, stdout=subprocess.PIPE, check=True, env=os.environ)  # noqa: S603      logger.debug("api-doc Output:\n" + result.stdout.decode(encoding="utf-8") + "\n")      cleanup()  |