diff --git a/gns3server/handlers/api/compute/project_handler.py b/gns3server/handlers/api/compute/project_handler.py index d64f96c7..78e1f6b6 100644 --- a/gns3server/handlers/api/compute/project_handler.py +++ b/gns3server/handlers/api/compute/project_handler.py @@ -384,7 +384,8 @@ class ProjectHandler: response.content_length = None response.start(request) - for data in project.export(include_images=bool(request.GET.get("include_images", "0"))): + include_images = bool(int(request.json.get("include_images", "0"))) + for data in project.export(include_images=include_images): response.write(data) yield from response.drain() diff --git a/gns3server/utils/images.py b/gns3server/utils/images.py index 6370499b..3c3733a4 100644 --- a/gns3server/utils/images.py +++ b/gns3server/utils/images.py @@ -91,7 +91,8 @@ def md5sum(path): try: with open(path + '.md5sum') as f: return f.read() - except OSError: + # Unicode error is when user rename an image to .md5sum .... + except (OSError, UnicodeDecodeError): pass try: diff --git a/gns3server/web/route.py b/gns3server/web/route.py index 5912e8f9..e956ed59 100644 --- a/gns3server/web/route.py +++ b/gns3server/web/route.py @@ -17,12 +17,14 @@ import sys import json -import jsonschema +import urllib import asyncio import aiohttp import logging import urllib import traceback +import jsonschema + log = logging.getLogger(__name__)