From 6989613b9931e85724a8d78962b1f2585b4dfd78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 23 Jun 2013 21:24:19 +0200 Subject: [PATCH] Moved printer state to API endpoint, made apikey instead of login necessary --- octoprint/server.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/octoprint/server.py b/octoprint/server.py index 2b95b33..e7639aa 100644 --- a/octoprint/server.py +++ b/octoprint/server.py @@ -273,17 +273,6 @@ def sdCommand(): return jsonify(SUCCESS) -#~~ Printer State - -@app.route(BASEURL + "state", methods=["GET"]) -@login_required -def getPrinterState(): - currentData = printer.getCurrentData() - currentData.update({ - "temperatures": printer.getCurrentTemperatures() - }) - return jsonify(currentData) - #~~ GCODE file handling @app.route(BASEURL + "gcodefiles", methods=["GET"]) @@ -389,6 +378,23 @@ def apiLoad(): printer.selectFile(filepath, False, printAfterSelect) return jsonify(SUCCESS) +@app.route(APIBASEURL + "state", methods=["GET"]) +def apiPrinterState(): + if not settings().get(["api", "enabled"]): + abort(401) + + if not "apikey" in request.values.keys(): + abort(401) + + if request.values["apikey"] != settings().get(["api", "key"]): + abort(403) + + currentData = printer.getCurrentData() + currentData.update({ + "temperatures": printer.getCurrentTemperatures() + }) + return jsonify(currentData) + #~~ timelapse handling @app.route(BASEURL + "timelapse", methods=["GET"])