def execute_process(self, headers, args, data, process): """ Execute process :param headers: dict of HTTP headers :param args: dict of HTTP request parameters :param data: process data :param process: name of process :returns: tuple of headers, status code, content """ headers_ = HEADERS.copy() data_dict = {} response = {} if not data: exception = { 'code': 'MissingParameterValue', 'description': 'missing request data' } LOGGER.error(exception) return headers_, 400, json.dumps(exception) processes = self.config.get('processes', {}) if process not in processes: exception = { 'code': 'NotFound', 'description': 'identifier not found' } LOGGER.error(exception) return headers_, 404, json.dumps(exception) p = load_plugin('process', processes[process]['processor']) data_ = json.loads(data) for input_ in data_['inputs']: data_dict[input_['id']] = input_['value'] try: outputs = p.execute(data_dict) m = p.metadata if 'raw' in args and str2bool(args['raw']): headers_['Content-Type'] = \ m['outputs'][0]['output']['formats'][0]['mimeType'] response = outputs else: response['outputs'] = outputs return headers_, 201, json.dumps(response) except Exception as err: exception = { 'code': 'InvalidParameterValue', 'description': str(err) } LOGGER.error(exception) return headers_, 400, json.dumps(exception)
def test_str2bool(): assert util.str2bool(False) is False assert util.str2bool('0') is False assert util.str2bool('no') is False assert util.str2bool('yes') is True assert util.str2bool('1') is True assert util.str2bool(True) is True assert util.str2bool('true') is True assert util.str2bool('True') is True assert util.str2bool('TRUE') is True assert util.str2bool('tRuE') is True assert util.str2bool('on') is True assert util.str2bool('On') is True assert util.str2bool('off') is False