Commit 0907d013 authored by jtc42's avatar jtc42
Browse files

Tidied and improved JSON representations

parent d79fd553
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ _actions = {

def enabled_actions():
    global _actions

    return {k: v for k, v in _actions.items() if v["conditions"]}


@@ -53,7 +52,6 @@ def actions_representation():
    global _actions

    actions = {}

    for name, action in enabled_actions().items():
        d = {
            "links": {"self": url_for(f".{name}")},
+2 −6
Original line number Diff line number Diff line
from openflexure_microscope.api.views import MicroscopeView

from flask import jsonify

import subprocess
import logging


# TODO: Make robust against different host OS
class ShutdownAPI(MicroscopeView):
    def post(self):
        """
@@ -17,7 +13,7 @@ class ShutdownAPI(MicroscopeView):
        """
        subprocess.Popen(['shutdown', '-h', 'now'])

        return '', 202
        return "{}", 201


class RebootAPI(MicroscopeView):
@@ -30,4 +26,4 @@ class RebootAPI(MicroscopeView):
        """
        subprocess.Popen(['sudo', 'shutdown', '-r', 'now'])

        return '', 202
        return "{}", 201
+4 −8
Original line number Diff line number Diff line
@@ -61,9 +61,7 @@ class ListAPI(MicroscopeView):
        :status 200: capture found
        :status 404: no capture found with that id
        """
        include_unavailable = get_bool(request.args.get("include_unavailable"))

        representation = captures_representation(self.microscope.camera.images, include_unavailable=include_unavailable)
        representation = captures_representation(self.microscope.camera.images)

        return jsonify(representation)

@@ -132,11 +130,9 @@ class CaptureAPI(MicroscopeView):

        """

        all_captures = captures_representation(self.microscope.camera.images, include_unavailable=True)

        if capture_id in all_captures:
            representation = all_captures[capture_id]
        else:
        try:
            representation = captures_representation(self.microscope.camera.images)[capture_id]
        except KeyError:
            return abort(404)  # 404 Not Found

        return jsonify(representation)
+2 −2
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ class TaskAPI(MethodView):
        """

        try:
            task = tasks.tasks()[task_id]
            task = tasks_representation()[task_id]
        except KeyError:
            return abort(404)  # 404 Not Found

@@ -140,7 +140,7 @@ class TaskAPI(MethodView):
        """

        try:
            task = tasks.tasks()[task_id]
            task = tasks_representation()[task_id]
        except KeyError:
            return abort(404)  # 404 Not Found

+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ class AutofocusAPI(MicroscopeViewPlugin):
        else:
            abort(503, 'No stage connected. Unable to autofocus.')


class FastAutofocusAPI(MicroscopeViewPlugin):
    def post(self):
        payload = JsonResponse(request)
Loading