mirror of
https://github.com/GNS3/gns3-server
synced 2024-12-25 16:28:11 +00:00
Save empty directories when exporting a project
This commit is contained in:
parent
0a08031d85
commit
9a5af82a28
@ -83,6 +83,11 @@ async def export_project(zstream, project, temporary_dir, include_images=False,
|
|||||||
continue
|
continue
|
||||||
_patch_mtime(path)
|
_patch_mtime(path)
|
||||||
zstream.write(path, os.path.relpath(path, project._path))
|
zstream.write(path, os.path.relpath(path, project._path))
|
||||||
|
# save empty directories
|
||||||
|
for directory in dirs:
|
||||||
|
path = os.path.join(root, directory)
|
||||||
|
if not os.listdir(path):
|
||||||
|
zstream.write(path, os.path.relpath(path, project._path))
|
||||||
except FileNotFoundError as e:
|
except FileNotFoundError as e:
|
||||||
log.warning("Cannot export local file: {}".format(e))
|
log.warning("Cannot export local file: {}".format(e))
|
||||||
continue
|
continue
|
||||||
|
@ -111,6 +111,7 @@ async def test_export(tmpdir, project):
|
|||||||
f.write("HELLO")
|
f.write("HELLO")
|
||||||
with open(os.path.join(path, "vm-1", "dynamips", "test_log.txt"), 'w+') as f:
|
with open(os.path.join(path, "vm-1", "dynamips", "test_log.txt"), 'w+') as f:
|
||||||
f.write("LOG")
|
f.write("LOG")
|
||||||
|
os.makedirs(os.path.join(path, "vm-1", "dynamips", "empty-dir"))
|
||||||
os.makedirs(os.path.join(path, "project-files", "snapshots"))
|
os.makedirs(os.path.join(path, "project-files", "snapshots"))
|
||||||
with open(os.path.join(path, "project-files", "snapshots", "test"), 'w+') as f:
|
with open(os.path.join(path, "project-files", "snapshots", "test"), 'w+') as f:
|
||||||
f.write("WORLD")
|
f.write("WORLD")
|
||||||
@ -127,6 +128,7 @@ async def test_export(tmpdir, project):
|
|||||||
|
|
||||||
assert 'test.gns3' not in myzip.namelist()
|
assert 'test.gns3' not in myzip.namelist()
|
||||||
assert 'project.gns3' in myzip.namelist()
|
assert 'project.gns3' in myzip.namelist()
|
||||||
|
assert 'vm-1/dynamips/empty-dir/' in myzip.namelist()
|
||||||
assert 'project-files/snapshots/test' not in myzip.namelist()
|
assert 'project-files/snapshots/test' not in myzip.namelist()
|
||||||
assert 'vm-1/dynamips/test_log.txt' not in myzip.namelist()
|
assert 'vm-1/dynamips/test_log.txt' not in myzip.namelist()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user