From 3b04f556b3a27ddb501a3368a8f8cf94e199d018 Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Wed, 30 Mar 2016 17:56:55 +0200 Subject: [PATCH] In the export rename the .gns3 to project.gns3 --- gns3server/modules/project.py | 6 +++++- tests/modules/test_project.py | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gns3server/modules/project.py b/gns3server/modules/project.py index a3adaf8d..55f8ef1b 100644 --- a/gns3server/modules/project.py +++ b/gns3server/modules/project.py @@ -534,5 +534,9 @@ class Project: for file in files: path = os.path.join(root, file) - z.write(path, os.path.relpath(path, self._path)) + # We rename the .gns3 project.gns3 to avoid the task to the client to guess the file name + if file.endswith(".gns3"): + z.write(path, "project.gns3") + else: + z.write(path, os.path.relpath(path, self._path)) return z diff --git a/tests/modules/test_project.py b/tests/modules/test_project.py index 0730e1b8..3ed80fa6 100644 --- a/tests/modules/test_project.py +++ b/tests/modules/test_project.py @@ -265,6 +265,11 @@ def test_export(tmpdir): project = Project() path = project.path os.makedirs(os.path.join(path, "vm-1", "dynamips")) + + # The .gns3 should be renamed project.gns3 in order to simplify import + with open(os.path.join(path, "test.gns3"), 'w+') as f: + f.write("{}") + with open(os.path.join(path, "vm-1", "dynamips", "test"), 'w+') as f: f.write("HELLO") with open(os.path.join(path, "vm-1", "dynamips", "test_log.txt"), 'w+') as f: @@ -284,5 +289,7 @@ def test_export(tmpdir): content = myfile.read() assert content == b"HELLO" + assert 'test.gns3' not in myzip.namelist() + assert 'project.gns3' in myzip.namelist() assert 'project-files/snapshots/test' not in myzip.namelist() assert 'vm-1/dynamips/test_log.txt' not in myzip.namelist()