Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)