Skip to content

Commit 726d7f3

Browse files
Matthieu Nottaleshin-
authored andcommitted
Add sparse argument to DockerClient.containers.list().
Signed-off-by: Matthieu Nottale <[email protected]>
1 parent 35520ab commit 726d7f3

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

docker/models/containers.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,8 @@ def get(self, container_id):
833833
resp = self.client.api.inspect_container(container_id)
834834
return self.prepare_model(resp)
835835

836-
def list(self, all=False, before=None, filters=None, limit=-1, since=None):
836+
def list(self, all=False, before=None, filters=None, limit=-1, since=None,
837+
sparse=False):
837838
"""
838839
List containers. Similar to the ``docker ps`` command.
839840
@@ -862,6 +863,9 @@ def list(self, all=False, before=None, filters=None, limit=-1, since=None):
862863
container. Give the container name or id.
863864
- `since` (str): Only containers created after a particular
864865
container. Give container name or id.
866+
sparse (bool): Do not inspect containers. Returns partial
867+
informations, but guaranteed not to block. Use reload() on
868+
each container to get the full list of attributes.
865869
866870
A comprehensive list can be found in the documentation for
867871
`docker ps
@@ -877,7 +881,10 @@ def list(self, all=False, before=None, filters=None, limit=-1, since=None):
877881
resp = self.client.api.containers(all=all, before=before,
878882
filters=filters, limit=limit,
879883
since=since)
880-
return [self.get(r['Id']) for r in resp]
884+
if sparse:
885+
return [self.prepare_model(r) for r in resp]
886+
else:
887+
return [self.get(r['Id']) for r in resp]
881888

882889
def prune(self, filters=None):
883890
return self.client.api.prune_containers(filters=filters)

0 commit comments

Comments
 (0)