Skip to content

Instantly share code, notes, and snippets.

@zhongleqi
Created February 13, 2023 09:40
Show Gist options
  • Save zhongleqi/8ee37c692f7eef4a39f0f6f0fac582f2 to your computer and use it in GitHub Desktop.
Save zhongleqi/8ee37c692f7eef4a39f0f6f0fac582f2 to your computer and use it in GitHub Desktop.
assignment 5 draft 2
import os
import requests
import json
def main():
members = get_members_data()
grouped_members = group_members_by_party(members)
sort_member = sort_member(grouped_members)
print(json.dumps(members, indent=4))
def get_members_data():
headers = {'X-API-Key': os.environ["PROPUBLICA_API_KEY"] }
url = "https://api.propublica.org/congress/v1/118/senate/members.json"
response = requests.get(url, headers=headers)
data = response.json()
return data ['results'][0]['members']
def group_members_by_party(members):
democrat = []
republican = []
grouped_members = [democrat, republican]
for member in members:
if member['party'] == 'D':
democrat.append(member)
elif member['party'] == 'R':
republican.append(member)
return grouped_members
def sort_member(grouped_members):
for member in member_list:
class sort_member:
def __init__(self, first, last, state, vote):
self.first = first_name
self.last = last_name
self.state = state
self.vote = votes_against_party_pct
def __repr__(self) -> str:
return repr((self.first, self.last, self.state, self.vote))
sorted(member_list, key = lambda sort_member: sort_member.vote)
return grouped_members [5]
#I'm confused, shall I sort [democrat] and [republican] seperately?
# Then why did we make a list of lists grouped_members = [democrat, republican] ?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment