From 00a5086d23b542e89284f4ffbd1e932359893084 Mon Sep 17 00:00:00 2001 From: Khushiyant Date: Sun, 9 Mar 2025 17:57:25 +0530 Subject: [PATCH] chore: add dot attribute access to ContainerInfo Signed-off-by: Khushiyant --- docker/api/container.py | 5 ++++- tests/integration/api_container_test.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/api/container.py b/docker/api/container.py index b361d4b2..e3128680 100644 --- a/docker/api/container.py +++ b/docker/api/container.py @@ -26,7 +26,10 @@ class ContainerInfo: This allows direct access to all fields without manually defining them. """ try: - return self._info[item] + value = self._info[item] + if isinstance(value, dict): + return ContainerInfo(value) + return value except KeyError as err: raise AttributeError( f"'ContainerInfo' object has no attribute '{item}'" diff --git a/tests/integration/api_container_test.py b/tests/integration/api_container_test.py index 2cb6e6da..cfe4f582 100644 --- a/tests/integration/api_container_test.py +++ b/tests/integration/api_container_test.py @@ -1587,4 +1587,5 @@ class ContainerInfoObjectTest(BaseAPIIntegrationTest): # attribute style access assert inspect_data.Id == container['Id'] - assert inspect_data["Id"] == container["Id"] + assert inspect_data.Config.Image == TEST_IMG + assert inspect_data.HostConfig.NetworkMode == 'bridge'