1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

Fix a warning when export

This commit is contained in:
Julien Duponchelle 2016-09-19 16:51:15 +02:00
parent f0af7d3c7a
commit 5fd04e1f9e
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
3 changed files with 9 additions and 7 deletions

View File

@ -299,7 +299,7 @@ class Compute:
response = yield from self._session().request("GET", url, auth=self._auth)
if response.status == 404:
raise aiohttp.web.HTTPNotFound(text="{} not found on compute".format(path))
return response.content
return response
@asyncio.coroutine
def stream_file(self, project, path):

View File

@ -75,12 +75,13 @@ def export_project(project, temporary_dir, include_images=False, keep_compute_id
if not _filter_files(compute_file["path"]):
(fd, temp_path) = tempfile.mkstemp(dir=temporary_dir)
f = open(fd, "wb", closefd=True)
stream = yield from compute.download_file(project, compute_file["path"])
response = yield from compute.download_file(project, compute_file["path"])
while True:
data = yield from stream.read(512)
data = yield from response.content.read(512)
if not data:
break
f.write(data)
response.close()
f.close()
z.write(temp_path, arcname=compute_file["path"], compress_type=zipfile.ZIP_DEFLATED)
return z

View File

@ -127,10 +127,11 @@ def test_export_vm(tmpdir, project, async_run, controller):
compute.list_files = AsyncioMagicMock(return_value=[{"path": "vm-1/dynamips/test"}])
# Fake file that will be download from the vm
file_content = AsyncioBytesIO()
async_run(file_content.write(b"HELLO"))
file_content.seek(0)
compute.download_file = AsyncioMagicMock(return_value=file_content)
mock_response = AsyncioMagicMock()
mock_response.content = AsyncioBytesIO()
async_run(mock_response.content.write(b"HELLO"))
mock_response.content.seek(0)
compute.download_file = AsyncioMagicMock(return_value=mock_response)
project._project_created_on_compute.add(compute)