maker: anteprima del DXF nel wizard «Crea ricetta da DXF» (Refs #101)
Proxy Flask /maker/api/vision/dxf-preview (piano B), stato e funzioni dxfPreview* nel wizard, riquadro SVG con L x H sotto il campo .dxf, traduzioni e test (proxy, JS con node, pagina). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -701,6 +701,25 @@ def api_dxf_compare_recipe(task_id: int):
|
||||
return jsonify(resp), 200
|
||||
|
||||
|
||||
# #101: anteprima del DXF appena scelto nel wizard (contorni letti dal vision worker)
|
||||
@maker_bp.route("/api/vision/dxf-preview", methods=["POST"])
|
||||
@login_required
|
||||
@role_required("Maker")
|
||||
def api_dxf_preview():
|
||||
"""Proxy: anteprima del DXF (contorni, bbox, L x H) prima di creare la ricetta (#101)."""
|
||||
dxf = request.files.get("dxf")
|
||||
if dxf is None or not dxf.filename:
|
||||
return jsonify({"error": True, "detail": _("Serve il file DXF")}), 400
|
||||
|
||||
resp = api_client.post(
|
||||
"/api/vision/dxf-preview",
|
||||
files={"dxf": (dxf.filename, dxf.read(), dxf.mimetype or "application/octet-stream")},
|
||||
)
|
||||
if resp.get("error"):
|
||||
return jsonify(resp), resp.get("status_code", 500)
|
||||
return jsonify(resp), 200
|
||||
|
||||
|
||||
@maker_bp.route("/api/files/<path:file_path>", methods=["GET"])
|
||||
@login_required
|
||||
def api_get_file(file_path: str):
|
||||
|
||||
Reference in New Issue
Block a user