From 81a48df9bbb6e51cea7ed7d24415ff4ba281ceb9 Mon Sep 17 00:00:00 2001 From: grossmj Date: Sun, 26 May 2019 15:44:55 +0700 Subject: [PATCH] Update the GNS3 version in topology file if converted. Ref https://github.com/GNS3/gns3-gui/issues/2798 --- gns3server/controller/topology.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gns3server/controller/topology.py b/gns3server/controller/topology.py index 4e7326e6..2f42ec57 100644 --- a/gns3server/controller/topology.py +++ b/gns3server/controller/topology.py @@ -128,17 +128,18 @@ def load_topology(path): raise aiohttp.web.HTTPConflict(text="Could not load topology {}: {}".format(path, str(e))) if topo.get("revision", 0) > GNS3_FILE_FORMAT_REVISION: - raise aiohttp.web.HTTPConflict(text="This project is designed for a more recent version of GNS3 please update GNS3 to version {} or later".format(topo["version"])) + raise aiohttp.web.HTTPConflict(text="This project was created with more recent version of GNS3 (file revision: {}). Please upgrade GNS3 to version {} or later".format(topo["revision"], topo["version"])) changed = False if "revision" not in topo or topo["revision"] < GNS3_FILE_FORMAT_REVISION: - # If it's an old GNS3 file we need to convert it - # first we backup the file + # Convert the topology if this is an old one but backup the file first try: shutil.copy(path, path + ".backup{}".format(topo.get("revision", 0))) - except (OSError) as e: + except OSError as e: raise aiohttp.web.HTTPConflict(text="Can't write backup of the topology {}: {}".format(path, str(e))) changed = True + # update the version because we converted the topology + topo["version"] = __version__ if "revision" not in topo or topo["revision"] < 5: topo = _convert_1_3_later(topo, path)