def basic_response(point_response_id,basic_request_id,result_data, description, replace_existing = True): """Adds basic request :param point_response_id: ID of the point response :param basic_request_id: ID of the basic request :param result_data: result data (CLs, logL, etc.) :return: JSON object """ payload = { 'model_id': None, 'basic_request_id': basic_request_id, 'point_response_id': point_response_id, 'description': description } payload.update(**result_data) existing = recastapi.response.read.basic_response(basic_request_id_filter = basic_request_id, description_filter = description) if existing and replace_existing: existing = existing[0] existing_id = existing['id'] url = '{}/{}'.format(recastapi.ENDPOINTS['BASIC_RESPONSES'],existing_id) existing.update(**payload) existing = {k:v for k,v in existing.iteritems() if not (k.startswith('_') or k=='id')} recastapi.patch(url,existing) return recastapi.response.read.basic_response(basic_response_id = existing_id) url = '{}/'.format(recastapi.ENDPOINTS['BASIC_RESPONSES']) return recastapi.post(url, json=payload)
def scan_response(scan_request_id): """Adds scan request :param scan_response_id: ID of the scan response :param point_request_id: ID of the scan request :param result_data: result data (CLs, logL, etc.) :return: JSON object """ payload = { 'model_id': None, 'scan_request_id': scan_request_id, } existing = recastapi.response.read.scan_response(scan_request_id = scan_request_id) if existing: url = '{}/{}'.format(recastapi.ENDPOINTS['SCAN_RESPONSES'],existing['id']) existing.update(**payload) existing = {k:v for k,v in existing.iteritems() if not (k.startswith('_') or k=='id')} recastapi.patch(url,existing) scan_response = recastapi.response.read.scan_response(scan_request_id = scan_request_id) return scan_response url = '{}/'.format(recastapi.ENDPOINTS['SCAN_RESPONSES']) return recastapi.post(url, data=payload)