Exemplo n.º 1
0
 candidate['name'] = common.normalize_person_name(candidate['name'])
 candidate['party'] = party
 candidate['election_year'] = election_year
 if candidate['type'] == 'mayors':
     candidate['constituency'] = 0
     candidate[
         'candidate_uid'], created = common.get_or_create_moyor_candidate_uid(
             c, candidate)
 else:
     candidate[
         'candidate_uid'], created = common.get_or_create_candidate_uid(
             c, candidate)
 candidate['candidate_term_uid'] = '%s-%s' % (
     candidate['candidate_uid'], election_year)
 candidate[
     'councilor_uid'], created = common.get_or_create_councilor_uid(
         c, candidate, create=False)
 candidate['councilor_term_id'] = common.getDetailIdFromUid(
     c, candidate['councilor_uid'], election_year, candidate['county'])
 candidate['councilor_terms'] = common.councilor_terms(
     c, candidate) if created else None
 if candidate['type'] == 'mayors':
     candidate['mayor_uid'] = candidate['candidate_uid']
     if candidate['mayor_uid']:
         candidate['mayor_terms'] = common.mayor_terms(c, candidate)
     candidate['legislator_uid'] = common.get_legislator_uid(
         c_another, candidate['name'])
     candidate['legislator_data'] = common.get_legislator_data(
         c_another, candidate['legislator_uid'])
     if candidate['legislator_uid']:
         candidate['legislator_terms'] = common.legislator_terms(
             c_another, candidate)
Exemplo n.º 2
0
    dict_list = json.load(open(f))
    for bill in dict_list:
        bill['county'] = county
        bill.update({'uid': u'%s-%s' % (bill['county'], bill['id'])})
        Bill(bill)
        for key, priproposer, petition in [('proposed_by', 0, False),
                                           ('petitioned_by', -1, True)]:
            for i, name in enumerate(bill.get(key, [])):
                name = common.normalize_person_name(name)
                name = re.sub(u'副?議長', '', name)
                if name:
                    # councilor in bill might not on this election_year
                    id, created = common.get_or_create_councilor_uid(
                        c,
                        dict(
                            zip([
                                'name', 'county', 'election_year',
                                'constituency'
                            ], [name, county, bill['election_year'], None])),
                        create=False)
                    if id:
                        detail_id = common.getDetailIdFromUid(
                            c, id, bill['election_year'], county)
                        CouncilorsBills(detail_id, bill['uid'],
                                        i == priproposer, petition)
        update_sponsor_param(bill['uid'])
        bill_party_diversity(bill['uid'])
    # Update bills_party_diversity of People
    for councilor_id in councilors(f_election_year, county):
        personal_vector(councilor_id)
conn.commit()
print 'bills done'
Exemplo n.º 3
0
        '../../data/tncc/councilors.json',
        '../../data/taitungcc/councilors.json',
        '../../data/hlcc/councilors.json', '../../data/cycc/councilors.json',
        '../../data/cyscc/councilors.json', '../../data/ylcc/councilors.json',
        '../../data/ntcc/councilors.json', '../../data/chcc/councilors.json',
        '../../data/tccc/councilors.json', '../../data/ilcc/councilors.json',
        '../../data/mcc/councilors.json', '../../data/hcc/councilors.json',
        '../../data/kmc/councilors.json', '../../data/tycc/councilors.json',
        '../../data/hsinchucc/councilors.json',
        '../../data/ntp/councilors.json', '../../data/tcc/councilors.json'
]:
    print council
    dict_list = json.load(open(council))
    for councilor in dict_list:
        councilor = normalize_councilor(councilor)
        councilor['uid'], created = common.get_or_create_councilor_uid(
            c, councilor)
        Councilors(councilor)
        insertCouncilorsDetail(councilor)
        if councilor['in_office']:
            examinate_with_cand_moi(councilor)
conn.commit()

# insert councilor which elected=true in candidates but already gone in councils website
election_year = '2014'
c.execute(
    '''
    SELECT *
    FROM candidates_terms
    WHERE election_year = %s and elected = true
    ORDER BY county
''', [election_year])
        WHERE candidate_id = %s and election_year = %s
    ''', [councilor_id, councilor['candidate_id'], councilor['election_year']])


conn = db_settings.con()
c = conn.cursor()

# insert councilors which elected=true in candidates
election_year = ast.literal_eval(argv[1])['election_year']
c.execute(
    '''
    SELECT ct.*, c.birth
    FROM candidates_terms ct
    Join candidates_candidates c ON c.uid = ct.candidate_id
    WHERE type = 'councilors' and election_year = %s and elected = true
''', [election_year])
key = [desc[0] for desc in c.description]
for row in c.fetchall():
    person = dict(zip(key, row))
    person['name'] = person['name'].decode('utf-8')
    print person['name'], person['county'], person['election_year']
    person['uid'], created = common.get_or_create_councilor_uid(c, person)
    person['uid'] = uuid.UUID(person['uid']).hex
    person['in_office'] = True
    person['term_start'], person['term_end'] = common.get_term_range(
        person['county'], person['election_year'])
    person['term_end'] = {'date': person['term_end']}
    upsert_councilors(person)
    upsert_councilors_terms(person)
conn.commit()