|
1 | 1 | from _typeshed import Incomplete |
2 | 2 | from collections.abc import Mapping, MutableMapping, Sequence |
3 | 3 | from re import Pattern |
4 | | -from typing import Any, Final, Literal, overload |
5 | | -from typing_extensions import TypeAlias, deprecated |
| 4 | +from typing import Any, Final, Literal, TypedDict, overload, type_check_only |
| 5 | +from typing_extensions import Required, TypeAlias, deprecated |
6 | 6 |
|
7 | 7 | import requests |
8 | 8 | from requests.models import Request, Response |
@@ -92,6 +92,15 @@ class WrappedSession(requests.Session): |
92 | 92 | _JSONValue: TypeAlias = Any # too many possibilities to express |
93 | 93 | _JSON: TypeAlias = dict[str, _JSONValue] |
94 | 94 |
|
| 95 | +@type_check_only |
| 96 | +class _Job(TypedDict, total=False): |
| 97 | + _class: Required[str] |
| 98 | + url: Required[str] |
| 99 | + color: str |
| 100 | + name: Required[str] |
| 101 | + fullname: Required[str] |
| 102 | + jobs: list[_Job] |
| 103 | + |
95 | 104 | class Jenkins: |
96 | 105 | server: str |
97 | 106 | auth: _Auth | None |
@@ -128,10 +137,8 @@ class Jenkins: |
128 | 137 | def get_plugins_info(self, depth: int = 2) -> _JSON: ... |
129 | 138 | def get_plugin_info(self, name: str, depth: int = 2) -> _JSON: ... |
130 | 139 | def get_plugins(self, depth: int = 2) -> _JSON: ... |
131 | | - def get_jobs( |
132 | | - self, folder_depth: int = 0, folder_depth_per_request: int = 10, view_name: str | None = None |
133 | | - ) -> list[dict[str, str]]: ... |
134 | | - def get_all_jobs(self, folder_depth: int | None = None, folder_depth_per_request: int = 10) -> list[dict[str, str]]: ... |
| 140 | + def get_jobs(self, folder_depth: int = 0, folder_depth_per_request: int = 10, view_name: str | None = None) -> list[_Job]: ... |
| 141 | + def get_all_jobs(self, folder_depth: int | None = None, folder_depth_per_request: int = 10) -> list[_Job]: ... |
135 | 142 | def copy_job(self, from_name: str, to_name: str) -> None: ... |
136 | 143 | def rename_job(self, from_name: str, to_name: str) -> None: ... |
137 | 144 | def delete_job(self, name: str) -> None: ... |
|
0 commit comments