Example #1
0
def test_get_patron_for_organisation(patron_martigny, patron_sion,
                                     org_martigny, org_sion):
    """Test get patron_pid for organisation."""

    pids = Patron.get_all_pids_for_organisation(org_martigny.pid)
    assert len(list(pids)) > 0
    pids = Patron.get_all_pids_for_organisation(org_sion.pid)
    assert len(list(pids)) > 0
Example #2
0
def create_ill_requests(input_file):
    """Create ILL request for each organisation."""
    locations = get_locations()
    patron_pids = {}

    with open(input_file, 'r', encoding='utf-8') as request_file:
        requests = json.load(request_file)
        for request_data in requests:
            for organisation_pid, location_pid in locations.items():
                if 'pid' in request_data:
                    del request_data['pid']
                if organisation_pid not in patron_pids:
                    patron_pids[organisation_pid] = list(
                        Patron.get_all_pids_for_organisation(organisation_pid))
                patron_pid = random.choice(patron_pids[organisation_pid])
                request_data['patron'] = {
                    '$ref': get_ref_for_pid('patrons', patron_pid)
                }
                request_data['pickup_location'] = {
                    '$ref': get_ref_for_pid('locations', location_pid)
                }
                request = ILLRequest.create(request_data,
                                            dbcommit=True,
                                            reindex=True)
                click.echo('\tRequest: #{pid}  \tfor org#{org_id}'.format(
                    pid=request.pid, org_id=request.organisation_pid))