Added resource for retrieving a JSON representation of the current printer state (basically most of what's available on socket.io)

Endpoint is <baseurl>/ajax/state
master
Gina Häußge 2013-05-31 23:24:21 +02:00
parent 8d53f313fe
commit b0891b4d16
2 changed files with 26 additions and 0 deletions

View File

@ -563,6 +563,21 @@ class Printer():
else:
return self._comm.getStateString()
def getCurrentData(self):
return self._stateMonitor.getCurrentData()
def getCurrentTemperatures(self):
return {
"extruder": {
"current": self._temp,
"target": self._targetTemp
},
"bed": {
"current": self._bedTemp,
"target": self._targetBedTemp
}
}
def isClosedOrError(self):
return self._comm is None or self._comm.isClosedOrError()

View File

@ -271,6 +271,17 @@ 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"])