summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-12-02 04:45:15 +0000
committerGerrit Code Review <review@openstack.org>2020-12-02 04:45:15 +0000
commitea358057f8c89adbf3d077f1f31036baf1710c59 (patch)
treea2d91bb326d9cb3b2dfba1272465b8f370ba0e51 /openstackclient
parentd4a0bcf8b3b46db4a368f423061ac5806a8021c9 (diff)
parent5bdcd590ecacbc0aa8db2cbafa0ab1a9f3c28ce0 (diff)
downloadpython-openstackclient-ea358057f8c89adbf3d077f1f31036baf1710c59.tar.gz
Merge "stop image downloads to memory"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/image/v1/image.py6
-rw-r--r--openstackclient/image/v2/image.py6
-rw-r--r--openstackclient/tests/unit/image/v2/test_image.py3
3 files changed, 12 insertions, 3 deletions
diff --git a/openstackclient/image/v1/image.py b/openstackclient/image/v1/image.py
index cf1d6817..64aa3fcd 100644
--- a/openstackclient/image/v1/image.py
+++ b/openstackclient/image/v1/image.py
@@ -478,7 +478,11 @@ class SaveImage(command.Command):
image_client = self.app.client_manager.image
image = image_client.find_image(parsed_args.image)
- image_client.download_image(image.id, output=parsed_args.file)
+ output_file = parsed_args.file
+ if output_file is None:
+ output_file = getattr(sys.stdout, "buffer", sys.stdout)
+
+ image_client.download_image(image.id, stream=True, output=output_file)
class SetImage(command.Command):
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index 4f3e9d0b..58d92f51 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -803,7 +803,11 @@ class SaveImage(command.Command):
image_client = self.app.client_manager.image
image = image_client.find_image(parsed_args.image)
- image_client.download_image(image.id, output=parsed_args.file)
+ output_file = parsed_args.file
+ if output_file is None:
+ output_file = getattr(sys.stdout, "buffer", sys.stdout)
+
+ image_client.download_image(image.id, stream=True, output=output_file)
class SetImage(command.Command):
diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py
index b094817e..80e60ee8 100644
--- a/openstackclient/tests/unit/image/v2/test_image.py
+++ b/openstackclient/tests/unit/image/v2/test_image.py
@@ -1618,7 +1618,7 @@ class TestImageSave(TestImage):
verifylist = [
('file', '/path/to/file'),
- ('image', self.image.id)
+ ('image', self.image.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -1626,6 +1626,7 @@ class TestImageSave(TestImage):
self.client.download_image.assert_called_once_with(
self.image.id,
+ stream=True,
output='/path/to/file')