def list_workflows(): """ Return a list of all workflows. :resheader Content-Type: :mimetype:`application/json` """ workflows = Workflow.find_all(app.config['base_path']) return make_response(json.dumps(workflows.values()), 200, {'Content-Type': 'application/json'})
def prepare_capture(workflow): """ Prepare capture for the requested workflow. """ # Check if any other workflow is active and finish, if neccessary logger.debug("Finishing previous workflows") wfitems = Workflow.find_all(app.config['base_path'], key='id').iteritems() for wfid, wf in wfitems: if wf.status['step'] == 'capture' and wf.status['prepared']: if wf is workflow and not request.args.get('reset'): return 'OK' wf.finish_capture() try: workflow.prepare_capture() except DeviceException as e: logger.error(e) raise ApiException("Could not prepare capture: {0}".format(e.message), 500, error_type='device') return 'OK'
def prepare_capture(workflow): """ Prepare capture for the requested workflow. """ if app.config['mode'] not in ('scanner', 'full'): raise ApiException("Only possible when running in 'scanner' or 'full'" " mode.", 503) # Check if any other workflow is active and finish, if neccessary logger.debug("Finishing previous workflows") wfitems = Workflow.find_all(app.config['base_path'], key='id').iteritems() for wfid, wf in wfitems: if wf.status['step'] == 'capture' and wf.status['prepared']: if wf is workflow and not request.args.get('reset'): return 'OK' wf.finish_capture() workflow.prepare_capture() return 'OK'