Merge pull request #1885 from GNS3/Create-endpoint-in-symbols-handler-to-get-symbol-dimensions

Create endpoint in symbols handler to get symbol dimensions #1884
This commit is contained in:
Jeremy Grossmann authored and GitHub committed 2021-04-09 04:59:57 -07:00
commit c9c6a5a762
2 files changed
+20 -2

No files matched your search

@@ -22,7 +22,7 @@ import urllib.parse
from gns3server.web.route import Route
from gns3server.controller import Controller
from gns3server.utils.picture import get_size
import logging
log = logging.getLogger(__name__)
@@ -44,6 +44,24 @@ class SymbolHandler:
controller = Controller.instance()
response.json(controller.symbols.list())
@Route.get(
r"/symbols/{symbol_id:.+}/dimensions",
description="Get the symbol dimensions",
status_codes={
200: "Symbol dimensions returned"
})
async def raw(request, response):
controller = Controller.instance()
symbol_id = urllib.parse.unquote(request.match_info["symbol_id"])
try:
width, height, _ = controller.symbols.get_size(symbol_id)
symbol_dimensions = { 'width': width, 'height': height }
response.json(symbol_dimensions)
except (KeyError, OSError) as e:
log.warning("Could not get symbol file: {}".format(e))
response.set_status(404)
@Route.get(
r"/symbols/{symbol_id:.+}/raw",
description="Get the symbol file",