def load_committee(self, obj): data = openstates.committee_detail(obj['id']) committee_name = data['committee'] if committee_name == 'Committee of the Whole Senate': self.stdout.write(u'Skipping {}.'.format(committee_name)) return self.stdout.write(u'Loading {}...'.format(committee_name)) chamber = Chamber.objects.get( name=u'Texas Senate' if data['chamber'] == 'upper' else u'Texas House' ) committee, _ = Committee.objects.get_or_create( name=committee_name, chamber=chamber, openstates_id=data['id'], ) committee.members.clear() member_list = [] for member in data['members']: legislator = Legislator.objects.get(openstates_id=member['leg_id']) member = Membership( legislator=legislator, committee=committee, role=member['role'].title(), ) member_list.append(member) Membership.objects.bulk_create(member_list)
'role']) # role is 3 for chair, 2 is vice chair, 1 for member. committees = openstates.committees(state='ca') committee_index = 0 member_index = 0 for committee in committees: pdrow = pd.Series({ 'committee_name': committee['committee'].encode('ascii', 'ignore'), 'committee_id': committee['id'] }) committeeinfo_db.loc[committee_index] = pdrow committee_index = committee_index + 1 detailedinfo = openstates.committee_detail(committee_id=committee['id']) for member in detailedinfo['members']: memnum = 1 if member['role'] == 'Chair': memnum = 3 if member['role'] == 'Vice Chair': memnum = 2 pdrow = pd.Series({ 'committee_id': committee['id'], 'member_id': member['leg_id'], 'role': memnum }) committeemembers_db.loc[member_index] = pdrow member_index = member_index + 1
# set up our two dataframes (which will become databases) committeeinfo_db = pd.DataFrame(columns=['committee_name', 'committee_id']) committeemembers_db = pd.DataFrame(columns=['committee_id', 'member_id', 'role']) # role is 3 for chair, 2 is vice chair, 1 for member. committees = openstates.committees(state='ca') committee_index = 0; member_index = 0; for committee in committees: pdrow = pd.Series({'committee_name':committee['committee'].encode('ascii', 'ignore'), 'committee_id':committee['id']}); committeeinfo_db.loc[committee_index] = pdrow; committee_index = committee_index + 1; detailedinfo = openstates.committee_detail(committee_id = committee['id']) for member in detailedinfo['members']: memnum = 1 if member['role'] == 'Chair': memnum = 3; if member['role'] == 'Vice Chair': memnum = 2 pdrow = pd.Series({'committee_id':committee['id'], 'member_id':member['leg_id'], 'role':memnum}) committeemembers_db.loc[member_index] = pdrow member_index = member_index + 1 engine = create_engine("mysql+pymysql://root@localhost/legislator_db") committeeinfo_db.to_sql('committees_table', engine,if_exists='replace') committeemembers_db.to_sql('committeemembers_table', engine,if_exists='replace')