Commit e081ae4e authored by Joel Collins's avatar Joel Collins
Browse files

Added sleep timer to dev extension

parent cea4ce34
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
from .raiser import raiser_extension_v2
 No newline at end of file
from .tools import devtools_extension_v2
 No newline at end of file
+0 −14
Original line number Diff line number Diff line
from labthings.server.extensions import BaseExtension
from labthings.server.view import ActionView

class RaiseException(ActionView):
    def post(self):
        raise Exception("The developer raised an exception")

raiser_extension_v2 = BaseExtension(
    "org.openflexure.dev.raiser",
    version="0.1.0",
    description="Actions to cause various traumatic events in the microscope, used for testing.",
)

raiser_extension_v2.add_view(RaiseException, "/raise")
 No newline at end of file
+37 −0
Original line number Diff line number Diff line
from labthings.server.extensions import BaseExtension
from labthings.server.view import ActionView

from labthings.server import fields
from labthings.server.decorators import use_args, marshal_with

import logging
import time

class RaiseException(ActionView):
    def post(self):
        raise Exception("The developer raised an exception")

class SleepFor(ActionView):
    @marshal_with({
        "TimeAsleep": fields.Float()
    })
    @use_args({
        "time": fields.Float(description="Time to sleep, in seconds", example=0.5)
    })
    def post(self, args):
        sleep_time = args.get("time")
        logging.info(f"Going to sleep for {sleep_time}...")
        start = time.time()
        time.sleep(sleep_time)
        end = time.time()
        logging.info("Waking up!")
        return {"TimeAsleep": (end - start)}

devtools_extension_v2 = BaseExtension(
    "org.openflexure.dev.tools",
    version="0.1.0",
    description="Actions to cause various traumatic events in the microscope, used for testing.",
)

devtools_extension_v2.add_view(RaiseException, "/raise")
devtools_extension_v2.add_view(SleepFor, "/sleep")
 No newline at end of file