def METHOD_NAME(csv_url, data):
    for first, last, cons, party in wtt_csv_reader(csv_url):
        name_cons = '%s %s (%s)' % (first, last, PARTY_TWFY_TO_PARL[party])
        ids = memberList.match_whole_speaker(name_cons, '2021-05-01')
        if not ids:
            ids = mpList.fullnametoids('%s %s' % (first, last), '2018-01-01')
        if not ids:
            ids = mpList.fullnametoids('%s %s' % (first, last), '2016-01-01')
        if not ids:
            ids = mpList.fullnametoids('%s %s' % (first, last), '2014-01-01')
        ids = list(ids)
        person_id = ids[0] if len(ids) == 1 else None
        name = {'given_name': first, 'family_name': last, 'note': 'Main'}
        if not person_id:
            data['max_person_id'] += 1
            person_id = 'uk.org.publicwhip/person/%d' % data['max_person_id']
            new_person = {
                'id': person_id,
                "other_names": [name],
                'shortcuts': {
                    'current_party': party,
                    'current_constituency': data['posts_by_name'][cons]['area']['name'],
                }
            }
            data['json']['persons'].append(new_person)
            data['persons'][person_id] = new_person
        # With the person done, now let's either update a membership or create a new membership
        new_mship = {
            'on_behalf_of_id': data['orgs'][party],
            'person_id': person_id,
            'start_date': '2021-05-08',
            'start_reason': 'regional_election',
        }
        data['max_mship_id'] += 1
        print("NEW result %s, %s %s, %s, %s, %s" % (data['max_mship_id'], name['given_name'], name['family_name'], party, cons, person_id))
        mship = {
            'id': 'uk.org.publicwhip/member/%d' % data['max_mship_id'],
            'post_id': data['posts_by_name'][cons]['id'],
        }
        data['json']['memberships'].append(mship)
        mship.update(new_mship)
        data.setdefault('dealt_with', []).append(cons)