from flask import abort, url_for from ..decorators import marshal_with from ..resource import Resource from ..schema import TaskSchema from openflexure_microscope.common.labthings_core import tasks class TaskList(Resource): """ List and basic documentation for all session tasks """ @marshal_with(TaskSchema(many=True)) def get(self): return tasks.tasks() class TaskResource(Resource): @marshal_with(TaskSchema()) def get(self, id): try: task = tasks.dict()[id] except KeyError: return abort(404) # 404 Not Found return task @marshal_with(TaskSchema()) def delete(self, id): try: task = tasks.dict()[id] except KeyError: return abort(404) # 404 Not Found task.terminate() return task