Skip to content

Commit 6de3d5b

Browse files
committed
misc: improve type checking
1 parent b8f900d commit 6de3d5b

File tree

6 files changed

+22
-15
lines changed

6 files changed

+22
-15
lines changed

podman/api/client.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
]
3333
"""Type alias for request data parameter."""
3434

35+
_Params = Union[None, bytes, Mapping[str, Any]]
36+
"""Type alias for request query parameter."""
37+
3538
_Timeout = Union[None, float, tuple[float, float], tuple[float, None]]
3639
"""Type alias for request timeout parameter."""
3740

@@ -207,7 +210,7 @@ def delete(
207210
self,
208211
path: Union[str, bytes],
209212
*,
210-
params: Union[None, bytes, Mapping[str, str]] = None,
213+
params: _Params = None,
211214
headers: Optional[Mapping[str, str]] = None,
212215
timeout: _Timeout = None,
213216
stream: Optional[bool] = False,
@@ -242,7 +245,7 @@ def get(
242245
self,
243246
path: Union[str, bytes],
244247
*,
245-
params: Union[None, bytes, Mapping[str, list[str]]] = None,
248+
params: _Params = None,
246249
headers: Optional[Mapping[str, str]] = None,
247250
timeout: _Timeout = None,
248251
stream: Optional[bool] = False,
@@ -277,7 +280,7 @@ def head(
277280
self,
278281
path: Union[str, bytes],
279282
*,
280-
params: Union[None, bytes, Mapping[str, str]] = None,
283+
params: _Params = None,
281284
headers: Optional[Mapping[str, str]] = None,
282285
timeout: _Timeout = None,
283286
stream: Optional[bool] = False,
@@ -312,7 +315,7 @@ def post(
312315
self,
313316
path: Union[str, bytes],
314317
*,
315-
params: Union[None, bytes, Mapping[str, str]] = None,
318+
params: _Params = None,
316319
data: _Data = None,
317320
headers: Optional[Mapping[str, str]] = None,
318321
timeout: _Timeout = None,
@@ -351,7 +354,7 @@ def put(
351354
self,
352355
path: Union[str, bytes],
353356
*,
354-
params: Union[None, bytes, Mapping[str, str]] = None,
357+
params: _Params = None,
355358
data: _Data = None,
356359
headers: Optional[Mapping[str, str]] = None,
357360
timeout: _Timeout = None,
@@ -391,7 +394,7 @@ def _request(
391394
path: Union[str, bytes],
392395
*,
393396
data: _Data = None,
394-
params: Union[None, bytes, Mapping[str, str]] = None,
397+
params: _Params = None,
395398
headers: Optional[Mapping[str, str]] = None,
396399
timeout: _Timeout = None,
397400
stream: Optional[bool] = None,

podman/domain/images_build.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def build(self, **kwargs) -> tuple[Image, Iterator[bytes]]:
121121
if kwargs.get("timeout"):
122122
post_kwargs["timeout"] = float(kwargs.get("timeout"))
123123

124-
response = self.client.post(
124+
response = self.client.post( # type: ignore[attr-defined]
125125
"/build",
126126
params=params,
127127
data=body,
@@ -154,7 +154,7 @@ def build(self, **kwargs) -> tuple[Image, Iterator[bytes]]:
154154
unknown = line
155155

156156
if image_id:
157-
return self.get(image_id), report_stream
157+
return self.get(image_id), report_stream # type: ignore[attr-defined]
158158

159159
raise BuildError(unknown or "Unknown", report_stream)
160160

podman/domain/networks.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@
1111
import json
1212
import logging
1313
from contextlib import suppress
14-
from typing import Optional, Union
14+
from typing import Optional, Union, TYPE_CHECKING
1515

1616
from podman.domain.containers import Container
1717
from podman.domain.containers_manager import ContainersManager
1818
from podman.domain.manager import PodmanResource
1919

20+
if TYPE_CHECKING:
21+
from podman.domain.networks_manager import NetworksManager
22+
2023
logger = logging.getLogger("podman.networks")
2124

2225

@@ -27,6 +30,8 @@ class Network(PodmanResource):
2730
attrs (dict[str, Any]): Attributes of Network reported from Podman service
2831
"""
2932

33+
manager: "NetworksManager"
34+
3035
@property
3136
def id(self): # pylint: disable=invalid-name
3237
"""str: Returns the identifier of the network."""
@@ -105,7 +110,7 @@ def connect(self, container: Union[str, Container], *_, **kwargs) -> None:
105110
}
106111

107112
data = {"Container": container, "EndpointConfig": endpoint_config}
108-
data = {k: v for (k, v) in data.items() if not (v is None or len(v) == 0)}
113+
data = {k: v for (k, v) in data.items() if not (v is None or len(v) == 0)} # type: ignore[arg-type]
109114

110115
response = self.client.post(
111116
f"/networks/{self.name}/connect",

podman/domain/secrets.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
class Secret(PodmanResource):
1212
"""Details and configuration for a secret registered with the Podman service."""
1313

14+
manager: "SecretsManager"
15+
1416
def __repr__(self):
1517
return f"<{self.__class__.__name__}: {self.name}>"
1618

podman/domain/volumes.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
class Volume(PodmanResource):
1717
"""Details and configuration for an image managed by the Podman service."""
1818

19+
manager: "VolumesManager"
20+
1921
@property
2022
def id(self):
2123
return self.name

pyproject.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,8 @@ module = [
146146
"podman.domain.images_manager",
147147
"podman.domain.manager",
148148
"podman.domain.manifests",
149-
"podman.domain.networks",
150-
"podman.domain.networks_manager",
151-
"podman.domain.pods",
152149
"podman.domain.pods_manager",
153150
"podman.domain.registry_data",
154-
"podman.domain.secrets",
155-
"podman.domain.volumes",
156151
"podman.errors.exceptions"
157152
]
158153
ignore_errors = true

0 commit comments

Comments
 (0)