Use LabThings decorators

This commit is contained in:
Joel Collins 2020-01-10 19:58:30 +00:00
parent 23c10dc292
commit 5616e76f50

View file

@ -5,6 +5,7 @@ from openflexure_microscope.common.flask_labthings.decorators import (
use_args, use_args,
marshal_with, marshal_with,
doc, doc,
ThingAction,
) )
from openflexure_microscope.common.flask_labthings import fields from openflexure_microscope.common.flask_labthings import fields
@ -15,10 +16,13 @@ from flask import Blueprint, jsonify, request
import logging import logging
@ThingAction
class MoveStageAPI(Resource): class MoveStageAPI(Resource):
@use_args( @use_args(
{ {
"absolute": fields.Boolean(default=False, example=False, description="Move to an absolute position"), "absolute": fields.Boolean(
default=False, example=False, description="Move to an absolute position"
),
"x": fields.Int(default=0, example=100), "x": fields.Int(default=0, example=100),
"y": fields.Int(default=0, example=100), "y": fields.Int(default=0, example=100),
"z": fields.Int(default=0, example=20), "z": fields.Int(default=0, example=20),
@ -53,9 +57,11 @@ class MoveStageAPI(Resource):
else: else:
logging.warning("Unable to move. No stage found.") logging.warning("Unable to move. No stage found.")
# TODO: Make schema for microscope status
return jsonify(microscope.status["stage"]["position"]) return jsonify(microscope.status["stage"]["position"])
@ThingAction
class ZeroStageAPI(Resource): class ZeroStageAPI(Resource):
def post(self): def post(self):
""" """
@ -65,4 +71,5 @@ class ZeroStageAPI(Resource):
microscope = find_device("org.openflexure.microscope") microscope = find_device("org.openflexure.microscope")
microscope.stage.zero_position() microscope.stage.zero_position()
# TODO: Make schema for microscope status
return jsonify(microscope.status["stage"]) return jsonify(microscope.status["stage"])