diff --git a/app.py b/app.py index 9462b4c07a21d7fb73c5ec1c40beeac0b8756bdc..8bac3839545e02f2649caaa6ac05177b3d69ac10 100644 --- a/app.py +++ b/app.py @@ -378,7 +378,7 @@ def hpgl (id): with open(hpgl_file, 'r') as hpgl_handle: r = Response(hpgl_handle.read(), mimetype='application/hpgl') r.headers.extend({ - 'Content-Disposition': 'attachment; filename="cobbled-paths.hpgl"' + 'Content-Disposition': f'attachment; filename="cobbled-paths-{id}.hpgl"' }) # remove tmp file diff --git a/templates/drawing.html b/templates/drawing.html index 70e385355d4a63b1d022428db992be046953325f..3ff18203714610b811739dcde2ebbd279a4e6f8e 100644 --- a/templates/drawing.html +++ b/templates/drawing.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="/static/js/FileSaver.js"></script> <style> - #save-svg{ + #save-buttons{ position: fixed; top: 0.5em; right: 0.5em; @@ -28,7 +28,10 @@ {{ svg|safe }} - <button id="save-svg">> SVG</button> + <div id="save-buttons"> + <button id="save-svg">> SVG</button> + <button id="save-hpgl">> HPGL</button> + </div> <script> function get2bodyclass(){ @@ -58,6 +61,25 @@ let blob = new Blob([source], {type: "text/plain;charset=utf-8"}); saveAs(blob, 'cobbled-paths.svg'); }); + + let save_button_hpgl = document.getElementById('save-hpgl'); + save_button_hpgl.addEventListener('click', function () { + let url = document.URL, + parts = url.split('/'), + name = parts[parts.length-1], + hpgl_url = '/hpgl/' + name, + a = document.createElement('a'); + a.href = hpgl_url; + a.setAttribute('download', 'download'); + if (document.createEvent) { + const event = document.createEvent('MouseEvents'); + event.initEvent('click', true, true); + a.dispatchEvent(event); + } + else { + a.click(); + } + }); </script> </body>