def METHOD_NAME(csv_url, data):
    changed = False
    for name, party, cons, person_id in dadem_csv_reader(csv_url):
        # Here we have an elected person.
        if party not in data['orgs']:
            data['orgs'][party] = slugify(party)
            data['json']['organizations'].append({'id': slugify(party), 'name': party})
        if person_id not in data['persons']:
            person_id = ''
        if person_id == '':
            data['max_person_id'] += 1
            person_id = 'uk.org.publicwhip/person/%d' % data['max_person_id']
            name['note'] = 'Main'
            new_person = {
                'id': person_id,
                'other_names': [name],
                'shortcuts': {
                    'current_party': party,
                    'current_constituency': cons,
                }
            }
            data['json']['persons'].append(new_person)
            data['persons'][person_id] = new_person
        changed = True
        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'],
            'on_behalf_of_id': data['orgs'][party],
            'person_id': person_id,
            'start_date': '2016-05-07',
            'start_reason': 'regional_election',
        }
        data['json']['memberships'].append(mship)
        data['existing'][cons] = mship
    return changed