def get_organizations(self): legislature_name = "Hawaii State Legislature" lower_chamber_name = "House" lower_seats = 51 lower_title = "Representative" upper_chamber_name = "Senate" upper_seats = 25 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield legislature yield upper yield lower
def get_organizations(self): """ generator to obtain organization data. """ legislature_name = "South Carolina Legislature" lower_chamber_name = "House" lower_seats = 124 lower_title = "Representative" upper_chamber_name = "Senate" upper_seats = 46 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield legislature yield upper yield lower
def get_organizations(self): legislature_name = "Missouri General Assembly" lower_chamber_name = "House" lower_seats = 163 lower_title = "Senator" upper_chamber_name = "Senate" upper_seats = 34 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield legislature yield upper yield lower
def get_organizations(self): legislature_name = "Legislative Assembly of Puerto Rico" lower_chamber_name = "House" lower_title = "Senator" upper_chamber_name = "Senate" upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) # 8 districts w/ 2 members, + 11 at larg for d in ('I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII'): upper.add_post(label=d, role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, d.lower())) # lower house is 40 seats, + 11 at large for n in range(1, 41): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) # TODO: add at large yield legislature yield upper yield lower
def get_organizations(self): legislature_name = "Nevada Legislature" lower_chamber_name = "Assembly" lower_seats = 42 lower_title = "Assembly Member" upper_chamber_name = "Senate" upper_seats = 21 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield Organization('Office of the Governor', classification='executive') yield legislature yield upper yield lower
def get_organizations(self): legislature_name = "Alaska State Legislature" lower_chamber_name = "House" lower_seats = 40 lower_title = "Representative" upper_chamber_name = "Senate" upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for letter in 'ABCDEFGHIJKLMNOPQRST': upper.add_post( label=letter, role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, letter.lower())) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield legislature yield upper yield lower
def get_organizations(self): exclude_type_ids = getattr(self, 'exclude_type_ids', []) use_type_id = getattr(self, 'use_type_id', False) organization = Organization(self.name, classification=self.classification) parent = Division.get(self.division_id) if parent._type not in ('province', 'territory'): post = Post(role=styles_of_address[self.division_id]['Leader'], label=parent.name, division_id=parent.id, organization_id=organization._id) yield post children = [child for child in parent.children() if child._type != 'place' and child._type not in exclude_type_ids] for child in children: if child: if use_type_id: label = child.id.rsplit('/', 1)[1].capitalize().replace(':', ' ') else: label = child.name post = Post(role=styles_of_address[self.division_id]['Member'], label=label, division_id=child.id, organization_id=organization._id) yield post if not children and parent.attrs['posts_count']: for i in range(1, int(parent.attrs['posts_count'])): # exclude Mayor organization.add_post(role=styles_of_address[self.division_id]['Member'], label='{} (seat {})'.format(parent.name, i), division_id=parent.id) yield organization
def get_organizations(self): org = Organization(name="Ferguson City Council", classification="legislature") org.add_contact_detail( type='email', value='*****@*****.**' ) org.add_post( label="Mayor", role="Mayor", division_id=self.division_id ) WARDS = 3 for ward in range(1, WARDS + 1): org.add_post( label="Council Member Ward {}".format(ward), role="Council Member Ward {}".format(ward), division_id=self.division_id, # num_seats=2, ) yield org
def get_organizations(self): organization = Organization(self.name, classification=self.classification) leader_role = styles_of_address[self.division_id]['Leader'] member_role = self.member_role or styles_of_address[self.division_id]['Member'] parent = Division.get(self.division_id) # Don't yield posts for premiers. if parent._type not in ('province', 'territory'): # Yield posts to allow ca_on_toronto to make changes. post = Post(role=leader_role, label=parent.name, division_id=parent.id, organization_id=organization._id) yield post children = [child for child in parent.children() if child._type != 'place' and child._type not in self.exclude_types] for child in children: if not self.skip_null_valid_from and not child.attrs.get('validFrom') or child.attrs.get('validFrom') and (child.attrs['validFrom'] <= datetime.now().strftime('%Y-%m-%d') or child.attrs['validFrom'] == self.valid_from): if self.use_type_id: label = child.id.rsplit('/', 1)[1].capitalize().replace(':', ' ') else: label = child.name # Yield posts to allow ca_on_toronto to make changes. post = Post(role=member_role, label=label, division_id=child.id, organization_id=organization._id) yield post if not children and parent.attrs['posts_count']: for i in range(1, int(parent.attrs['posts_count'])): # exclude Mayor organization.add_post(role=member_role, label='{} (seat {})'.format(parent.name, i), division_id=parent.id) yield organization
def get_organizations(self): legislature_name = "Delaware General Assembly" lower_chamber_name = "House" lower_seats = 41 lower_title = "Representative" upper_chamber_name = "Senate" upper_seats = 21 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") executive = Organization(name="Office of the Governor", classification="executive") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats+1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats+1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) yield legislature yield executive yield upper yield lower
def get_organizations(self): legislature_name = "Utah State Legislature" lower_chamber_name = "House" lower_seats = 75 lower_title = "Senator" upper_chamber_name = "Senate" upper_seats = 29 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) for n in range(1, lower_seats + 1): lower.add_post( label=str(n), role=lower_title, division_id='{}/sldl:{}'.format(self.division_id, n)) # fiscal analyst # fisc = Organization('Office of the Legislative Fiscal Analyst', # classification='department', # parent_id=legislature._id, # ) yield legislature yield Organization('Office of the Governor', classification='executive') yield upper yield lower
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label='Waterloo', division_id=self.division_id) for ward_number in range(1, 8): organization.add_post(role='Councillor', label='Ward {}'.format(ward_number)) yield organization
def board_of_aldermen(self): org = Organization(name="St Louis Board of Aldermen", classification="legislature") # add a post for each Ward for ward_num in range(1, self.WARD_COUNT + 1): org.add_post(label="Ward {} Alderman".format(ward_num), role="Alderman") yield org
def get_organizations(self): # @todo Eliminate once shapefile is found and ocd-division-ids is updated. organization = Organization(self.name, classification=self.classification) organization.add_post(role='Maire', label='Mercier', division_id=self.division_id) for district_number in range(1, 7): organization.add_post(role='Conseiller', label='District {}'.format(district_number)) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label='Grande Prairie', division_id=self.division_id) for seat_number in range(1, 9): organization.add_post(role='Councillor', label='Grande Prairie (seat {})'.format(seat_number), division_id=self.division_id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for division in Division.get('ocd-division/country:ca/csd:3520005').children('ward'): if '2018' in division.id: organization.add_post(role='Councillor', label=division.name, division_id=division.id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for ward_name in ('Grantham', 'Merritton', 'Port Dalhousie', "St. Andrew's", "St. George's", "St. Patrick's"): for seat_number in range(1, 3): organization.add_post(role='Councillor', label='{} (seat {})'.format(ward_name, seat_number), division_id='{}/ward:{}'.format(self.division_id, clean_type_id(ward_name))) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for ward_number, stop in enumerate((7, 3), 1): for seat_number in range(1, stop): organization.add_post(role='Councillor', label='Ward {} (seat {})'.format(ward_number, seat_number), division_id='{}/ward:{}'.format(self.division_id, ward_number)) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label='Welland', division_id=self.division_id) for ward_number in range(1, 7): for seat_number in range(1, 3): organization.add_post(role='Councillor', label='Ward {} (seat {})'.format(ward_number, seat_number)) yield organization
def get_organizations(self): org = Organization(name="Chicago City Council", classification="legislature") for x in range(1, 51): org.add_post( "Ward {}".format(x), "Alderman", division_id='ocd-division/country:us/state:il/place:chicago/ward:{}'.format(x)) yield org mayor = Organization('Office of the Mayor', classification='executive') yield mayor daley = Person(name="Daley, Richard M.", primary_org='executive', role='Mayor', primary_org_name='Office of the Mayor', start_date=datetime.date(1989, 4, 24), end_date=datetime.date(2011, 5, 16)) daley.add_source('https://chicago.legistar.com/People.aspx') yield daley emanuel = Person(name="Emanuel, Rahm", primary_org='executive', role='Mayor', primary_org_name='Office of the Mayor', start_date=datetime.date(2011, 5, 16)) emanuel.add_source('https://chicago.legistar.com/People.aspx') yield emanuel #I'm not sure how to model the office of the city clerk it's #a seperately elected executive I think. clerk = Organization('Office of the City Clerk', classification='executive') yield clerk mendoza = Person(name='Mendoza, Susana A.', primary_org='executive', role='City Clerk', primary_org_name='Office of the City Clerk', start_date=datetime.date(2011, 5, 16)) mendoza.add_source('https://chicago.legistar.com/People.aspx') yield mendoza valle = Person(name='Del Valle, Miguel', primary_org='executive', role='City Clerk', primary_org_name='Office of the City Clerk', start_date=datetime.date(2006, 12, 1), end_date=datetime.date(2011, 5, 16)) valle.add_source('https://chicago.legistar.com/People.aspx') yield valle
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for ward_number in range(1, 7): # @todo Until a boundary set is received and loaded into Represent, we treat this as having no divisions. # organization.add_post(role='Councillor', label='Ward {}'.format(ward_number), division_id=self.division_id) organization.add_post(role='Councillor', label='{} (seat {})'.format(self.division_name, ward_number), division_id=self.division_id) yield organization
def test_org_add_post(): """ Test that we can hack posts in on the fly'""" orga = Organization("name", classification="committee") orga.add_source(url='foo') orga.validate() orga.add_post("Human Readable Name", "Chef") assert orga._related[0].role == "Chef" assert orga._related[0].label == "Human Readable Name"
def get_organizations(self): council = Organization('New York City Council', classification='legislature') for x in range(1,52): council.add_post("District {}".format(x), role='Council Member', division_id='ocd-division/country:us/state:ny/place:new_york/council_district:{}'.format(x)) yield council mayor = Organization('Mayor', classification='executive') yield mayor
def get_organizations(self): organization = Organization(self.name, classification=self.classification) for division_number in range(1, 10): # One of the councillors is the Reeve. if division_number == 3: role = 'Reeve' else: role = 'Councillor' organization.add_post(role=role, label='Division {}'.format(division_number), division_id='{}/division:{}'.format(self.division_id, division_number)) yield organization
def get_organizations(self): parliament = Organization(self.name, classification=self.classification) yield parliament upper = Organization('Senate', classification='upper', parent_id=parliament) lower = Organization('House of Commons', classification='lower', parent_id=parliament) for division in Division.get(self.division_id).children('ed'): if division.attrs.get('validFrom') and division.attrs['validFrom'] <= datetime.now().strftime('%Y-%m-%d'): lower.add_post(role='MP', label=division.name, division_id=division.id) yield upper yield lower
def get_organizations(self): legislature_name = "Nebraska Legislature" seats = 49 title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") for n in range(1, seats + 1): legislature.add_post( label=str(n), role=title, division_id='{}/sldu:{}'.format(self.division_id, n)) yield legislature
def get_organizations(self): org = Organization(name="Sacramento City Council", classification="legislature") org.add_post(label='Mayor of the City of Sacramento', role='Mayor', division_id='ocd-division/country:us/state:ca/place:sacramento') for district in range(1, 9): org.add_post(label='Sacramento City Council Member, District {}'.format(district), role='Member', division_id='ocd-division/country:us/state:ca/place:sacramento/council_district:{}'.format(district)) yield org
def get_organizations(self): org = Organization(name="Miami-Dade County Commission", classification="legislature") for x in range(1,14): org.add_post(label="District {dist} Commissioner".format(dist=x), role="Commissioner", division_id=self.division_id) yield org mayor = Organization('Office of the Mayor', classification='executive') yield mayor mayorPers = Person(name="Carlos A. Giménez", primary_org='executive', role='Mayor', primary_org_name='Office of the Mayor', start_date=datetime.date(2011, 6, 28)) mayorPers.add_source('Ernie') yield mayorPers clerk = Organization('Clerk of Courts', classification='executive') yield clerk clerkPers = Person(name="Harvey Ruvin", primary_org='executive', role='Clerk', primary_org_name='Clerk of Courts') clerkPers.add_source('Ernie') yield clerkPers pa = Organization('Office of the Property Appraiser', classification='executive') yield pa paPers = Person(name="Pedro J. Garcia", primary_org='executive', role='Property Appraiser', primary_org_name='Office of the Property Appraiser') paPers.add_source('Ernie') yield paPers
def get_organizations(self): org = Organization(name="Cook County Board of Commissioners", classification="legislature") for x in range(1, 18): org.add_post( "District {}".format(x), "Commissioner", division_id='ocd-division/country:us/state:il/county:cook/council_district:{}'.format(x)) org.add_post( "Board President", "Board President", division_id='ocd-division/country:us/state:il/county:cook') yield org
def scrape(self): sessions = reversed(self.jurisdiction.legislative_sessions) committee_term_instances = committees_from_sessions(self, sessions) committees_by_code = build_lookup_dict(self, data_list=committee_term_instances, index_key='code') for code, instances in committees_by_code.items(): # TODO: Figure out how to edit city council org. if code == 'CC': continue # When there are no meetings scheduled and was no way to deduce committee code. if not code: continue extras = {'tmmis_decision_body_ids': []} for i, inst in enumerate(instances): # TODO: Ensure this survives addition of new term (2017) # so specific year always creates canonical_i = 0 if i == canonical_i: o = Organization(name=inst['name'], classification='committee') extras.update({'description': inst['info']}) o.add_identifier(inst['code'], scheme=TWO_LETTER_ORG_CODE_SCHEME) # TODO: Scrape non-councillor members meeting_id = self.referenceMeetingId(inst['code'], inst['term']) if meeting_id: seen_posts = [] membership_url = MEMBERSHIP_URL_TEMPLATE.format(meeting_id) for councillor in self.councillorMembers(membership_url): o.add_member(councillor['name'], councillor['role']) if councillor['role'] not in seen_posts: o.add_post( role=councillor['role'], label=councillor['role'], # TODO: More specific divisions for some committee? division_id=self.jurisdiction.division_id, ) seen_posts.append(councillor['role']) extras['tmmis_decision_body_ids'].append({inst['term']: inst['decision_body_id']}) o.extras = extras o.add_source(inst['source_url']) if instances[canonical_i]['name'] != inst['name']: # TODO: Add start_date and end_date o.add_name(inst['name']) yield o
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) organization.add_post(role='Regional Councillor', label=self.division_name, division_id=self.division_id) for ward_number in range(1, 6): # @todo Until a boundary set is received and loaded into Represent, we treat this as having no divisions. # organization.add_post(role='Councillor', label='Ward {}'.format(ward_number), division_id=self.division_id) organization.add_post( role='Councillor', label='Georgina (seat {})'.format(ward_number), division_id=self.division_id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for seat_number in range(1, 11): organization.add_post(role='Councillor', label='{} (seat {})'.format( self.division_name, seat_number), division_id=self.division_id) for seat_number in range(1, 8): organization.add_post(role='Commissioner', label='{} (seat {})'.format( self.division_name, seat_number), division_id=self.division_id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for seat_number in range(1, 4): organization.add_post( role='Regional Councillor', label='Vaughan (seat {})'.format(seat_number), division_id=self.division_id) for ward_number in range(1, 6): organization.add_post(role='Councillor', label='Ward {}'.format(ward_number), division_id='{}/ward:{}'.format( self.division_id, ward_number)) yield organization
def get_organizations(self): legis = Organization('Minnesota Legislature', classification='legislature') upper = Organization('Minnesota Senate', classification='upper', parent_id=legis._id) lower = Organization('Minnesota House of Representatives', classification='lower', parent_id=legis._id) for n in range(1, 68): upper.add_post(label=str(n), role='Senator', division_id='ocd-division/country:us/state:mn/sldu:{}'.format(n)) lower.add_post(label=str(n) + 'A', role='Representative', division_id='ocd-division/country:us/state:mn/sldl:{}a'.format(n)) lower.add_post(label=str(n) + 'B', role='Representative', division_id='ocd-division/country:us/state:mn/sldl:{}b'.format(n)) yield legis yield upper yield lower
def get_organizations( self ): # @todo Fix labels along the lines of the regions of Peel, Niagara or Waterloo. organization = Organization(self.name, classification=self.classification) organization.add_post(role='Warden', label=self.division_name, division_id=self.division_id) organization.add_post(role='Deputy Warden', label=self.division_name, division_id=self.division_id) for seat_number in range(1, 16): organization.add_post( role='Councillor', label='Lambton (seat {})'.format(seat_number), division_id=self.division_id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Maire', label=self.division_name, division_id=self.division_id) for division in Division.get(self.division_id).children('district'): if division.name == 'Greenfield Park': for seat_number in range(1, 4): organization.add_post(role='Conseiller', label='{} (siège {})'.format( division.name, seat_number), division_id=division.id) else: organization.add_post(role='Conseiller', label=division.name, division_id=division.id) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for seat_number in range(1, 4): organization.add_post(role='Regional Councillor', label='{} (seat {})'.format( self.division_name, seat_number), division_id=self.division_id) for ward_number, ward_name in enumerate( ('North', 'West', 'Centre', 'East'), 1): organization.add_post(role='Councillor', label='{} Ward'.format(ward_name), division_id='{}/ward:{}'.format( self.division_id, ward_number)) yield organization
def get_organizations(self): council = Organization(name="Council of the District of Columbia", classification="legislature") mayor = Organization(name="Executive Office of the Mayor", classification="executive") council.add_post('Chairman', role="Chairman", division_id=self.division_id) council.add_post('At-Large', role="Councilmember", division_id=self.division_id) for n in range(1, 8 + 1): council.add_post('Ward {}'.format(n), role="member", division_id='{}/ward:{}'.format( self.division_id, n)) yield mayor yield council
def get_organizations(self): org = Organization(name="Chicago City Council", classification="legislature") org.add_post( "Clerk", "Clerk", division_id="ocd-division/country:us/state:il/place:chicago") org.add_post( "Mayor", "Mayor", division_id="ocd-division/country:us/state:il/place:chicago") for x in range(1, 51): org.add_post( "Ward {}".format(x), "Alderman", division_id="ocd-division/country:us/state:il/place:chicago") yield org
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label=self.division_name, division_id=self.division_id) for seat_number in range(1, 3): organization.add_post( role='Councillor at Large', label='Moncton (seat {})'.format(seat_number), division_id=self.division_id) for ward_number in range(1, 5): for seat_number in range(1, 3): organization.add_post( role='Councillor', label='Ward {} (seat {})'.format(ward_number, seat_number), division_id='{}/ward:{}'.format(self.division_id, ward_number)) yield organization
def get_organizations(self): #REQUIRED: define an organization using this format #where org_name is something like Seattle City Council #and classification is described here: org = Organization(name="Mountain View City Council", classification="legislature") # REQUIRED: yield the organization yield org # OPTIONAL: add posts to your organizaion using this format, # where label is a human-readable description of the post (eg "Ward 8 councilmember") # and role is the position type (eg councilmember, alderman, mayor...) # skip entirely if you're not writing a people scraper. city = Organization('City of Mountain View', classification='executive') city.add_post( 'Mayor', 'Mayor', division_id='ocd-division/country:us/state:ca/place:mountainview') city.add_post( 'City Manager', 'City Manager', division_id='ocd-division/country:us/state:ca/place:mountainview') city.add_post( 'City Clerk', 'City Clerk', division_id='ocd-division/country:us/state:ca/place:mountainview') yield city abekoga = Person(name="Abe-Koga, Margaret") abekoga.add_term('Mayor', 'executive', start_date=datetime.date(1989, 4, 24), end_date=datetime.date(2011, 5, 16), appointment=True) abekoga.add_source('https://mountainview.legistar.com/People.aspx') yield abekoga
def get_organizations(self): org = Organization(name="Board of Directors", classification="legislature") org.add_post( 'Mayor of the City of Los Angeles', 'Board Member', division_id='ocd-division/country:us/state:ca/place:los_angeles') for district in range(1, 6): org.add_post( 'Los Angeles County Board Supervisor, District {}'.format( district), 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/council_district:{}' .format(district)) org.add_post( 'Appointee of Mayor of the City of Los Angeles', 'Board Member', division_id='ocd-division/country:us/state:ca/place:los_angeles') org.add_post('Appointee of Governor of California', 'Nonvoting Board Member', division_id='ocd-division/country:us/state:ca') org.add_post( 'Appointee of Los Angeles County City Selection Committee, North County/San Fernando Valley sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:north_county_san_fernando_valley' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, Southwest Corridor sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:southwest_corridor' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, San Gabriel Valley sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:san_gabriel_valley' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, Southeast Long Beach sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:southeast_long_beach' ) org.add_post('Chair', 'Chair') org.add_post('1st Vice Chair', '1st Vice Chair') org.add_post('2nd Vice Chair', '2nd Vice Chair') yield org org = Organization(name="Crenshaw Project Corporation", classification="corporation") org.add_source('foo') yield org org = Organization(name="LA SAFE", classification="corporation") org.add_source('foo') yield org
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Regional Chair', label=self.division_name, division_id=self.division_id) divisions = { 'Fort Erie': { 'stop': 3, 'type_id': '3526003', }, 'Grimsby': { 'stop': 3, 'type_id': '3526065', }, 'Lincoln': { 'stop': 3, 'type_id': '3526057', }, 'Niagara Falls': { 'stop': 5, 'type_id': '3526043', }, 'Niagara-on-the-Lake': { 'stop': 3, 'type_id': '3526047', }, 'Pelham': { 'stop': 3, 'type_id': '3526028', }, 'Port Colborne': { 'stop': 3, 'type_id': '3526011', }, 'St. Catharines': { 'stop': 8, 'type_id': '3526053', }, 'Thorold': { 'stop': 3, # can be 2 'type_id': '3526037', }, 'Wainfleet': { 'stop': 2, # can be 3 'type_id': '3526014', }, 'Welland': { 'stop': 4, 'type_id': '3526032', }, 'West Lincoln': { 'stop': 2, 'type_id': '3526021', }, } for division_name, division in divisions.items(): division_id = 'ocd-division/country:ca/csd:{}'.format( division['type_id']) organization.add_post(role='Mayor', label=division_name, division_id=division_id) for seat_number in range(1, division['stop']): organization.add_post(role='Councillor', label='{} (seat {})'.format( division_name, seat_number), division_id=division_id) yield organization
def get_organizations(self): legislature_name = "South Dakota State Legislature" lower_chamber_name = "House" lower_title = "Representative" upper_chamber_name = "Senate" upper_title = "Senator" seats = 35 legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) executive = Organization(name='Office of the Governor', classification='executive') for n in range(1, seats + 1): # 26 and 28 are special if n in (26, 28): continue lower.add_post(label=str(n), role=lower_title, division_id='{}/sldl:{}'.format( self.division_id, n)) lower.add_post(label='26A', role=lower_title, division_id='{}/sldl:26a'.format(self.division_id)) lower.add_post(label='26B', role=lower_title, division_id='{}/sldl:26b'.format(self.division_id)) lower.add_post(label='28A', role=lower_title, division_id='{}/sldl:28a'.format(self.division_id)) lower.add_post(label='28B', role=lower_title, division_id='{}/sldl:28b'.format(self.division_id)) for n in range(1, seats + 1): upper.add_post(label=str(n), role=upper_title, division_id='{}/sldu:{}'.format( self.division_id, n)) yield legislature yield executive yield upper yield lower
def get_organizations(self): legislature_name = "Massachusetts General Court" lower_chamber_name = "House" lower_title = "Senator" upper_chamber_name = "Senate" upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) lower_divs = [ ("Tenth Bristol", "ocd-division/country:us/state:ma/sldl:10th_bristol"), ("Tenth Essex", "ocd-division/country:us/state:ma/sldl:10th_essex"), ("Tenth Hampden", "ocd-division/country:us/state:ma/sldl:10th_hampden"), ("Tenth Middlesex", "ocd-division/country:us/state:ma/sldl:10th_middlesex"), ("Tenth Norfolk", "ocd-division/country:us/state:ma/sldl:10th_norfolk"), ("Tenth Plymouth", "ocd-division/country:us/state:ma/sldl:10th_plymouth"), ("Tenth Suffolk", "ocd-division/country:us/state:ma/sldl:10th_suffolk"), ("Tenth Worcester", "ocd-division/country:us/state:ma/sldl:10th_worcester"), ("Eleventh Bristol", "ocd-division/country:us/state:ma/sldl:11th_bristol"), ("Eleventh Essex", "ocd-division/country:us/state:ma/sldl:11th_essex"), ("Eleventh Hampden", "ocd-division/country:us/state:ma/sldl:11th_hampden"), ("Eleventh Middlesex", "ocd-division/country:us/state:ma/sldl:11th_middlesex"), ("Eleventh Norfolk", "ocd-division/country:us/state:ma/sldl:11th_norfolk"), ("Eleventh Plymouth", "ocd-division/country:us/state:ma/sldl:11th_plymouth"), ("Eleventh Suffolk", "ocd-division/country:us/state:ma/sldl:11th_suffolk"), ("Eleventh Worcester", "ocd-division/country:us/state:ma/sldl:11th_worcester"), ("Twelfth Bristol", "ocd-division/country:us/state:ma/sldl:12th_bristol"), ("Twelfth Essex", "ocd-division/country:us/state:ma/sldl:12th_essex"), ("Twelfth Hampden", "ocd-division/country:us/state:ma/sldl:12th_hampden"), ("Twelfth Middlesex", "ocd-division/country:us/state:ma/sldl:12th_middlesex"), ("Twelfth Norfolk", "ocd-division/country:us/state:ma/sldl:12th_norfolk"), ("Twelfth Plymouth", "ocd-division/country:us/state:ma/sldl:12th_plymouth"), ("Twelfth Suffolk", "ocd-division/country:us/state:ma/sldl:12th_suffolk"), ("Twelfth Worcester", "ocd-division/country:us/state:ma/sldl:12th_worcester"), ("Thirteenth Bristol", "ocd-division/country:us/state:ma/sldl:13th_bristol"), ("Thirteenth Essex", "ocd-division/country:us/state:ma/sldl:13th_essex"), ("Thirteenth Middlesex", "ocd-division/country:us/state:ma/sldl:13th_middlesex"), ("Thirteenth Norfolk", "ocd-division/country:us/state:ma/sldl:13th_norfolk"), ("Thirteenth Suffolk", "ocd-division/country:us/state:ma/sldl:13th_suffolk"), ("Thirteenth Worcester", "ocd-division/country:us/state:ma/sldl:13th_worcester"), ("Fourteenth Bristol", "ocd-division/country:us/state:ma/sldl:14th_bristol"), ("Fourteenth Essex", "ocd-division/country:us/state:ma/sldl:14th_essex"), ("Fourteenth Middlesex", "ocd-division/country:us/state:ma/sldl:14th_middlesex"), ("Fourteenth Norfolk", "ocd-division/country:us/state:ma/sldl:14th_norfolk"), ("Fourteenth Suffolk", "ocd-division/country:us/state:ma/sldl:14th_suffolk"), ("Fourteenth Worcester", "ocd-division/country:us/state:ma/sldl:14th_worcester"), ("Fifteenth Essex", "ocd-division/country:us/state:ma/sldl:15th_essex"), ("Fifteenth Middlesex", "ocd-division/country:us/state:ma/sldl:15th_middlesex"), ("Fifteenth Norfolk", "ocd-division/country:us/state:ma/sldl:15th_norfolk"), ("Fifteenth Suffolk", "ocd-division/country:us/state:ma/sldl:15th_suffolk"), ("Fifteenth Worcester", "ocd-division/country:us/state:ma/sldl:15th_worcester"), ("Sixteenth Essex", "ocd-division/country:us/state:ma/sldl:16th_essex"), ("Sixteenth Middlesex", "ocd-division/country:us/state:ma/sldl:16th_middlesex"), ("Sixteenth Suffolk", "ocd-division/country:us/state:ma/sldl:16th_suffolk"), ("Sixteenth Worcester", "ocd-division/country:us/state:ma/sldl:16th_worcester"), ("Seventeenth Essex", "ocd-division/country:us/state:ma/sldl:17th_essex"), ("Seventeenth Middlesex", "ocd-division/country:us/state:ma/sldl:17th_middlesex"), ("Seventeenth Suffolk", "ocd-division/country:us/state:ma/sldl:17th_suffolk"), ("Seventeenth Worcester", "ocd-division/country:us/state:ma/sldl:17th_worcester"), ("Eighteenth Essex", "ocd-division/country:us/state:ma/sldl:18th_essex"), ("Eighteenth Middlesex", "ocd-division/country:us/state:ma/sldl:18th_middlesex"), ("Eighteenth Suffolk", "ocd-division/country:us/state:ma/sldl:18th_suffolk"), ("Eighteenth Worcester", "ocd-division/country:us/state:ma/sldl:18th_worcester"), ("Nineteenth Middlesex", "ocd-division/country:us/state:ma/sldl:19th_middlesex"), ("Nineteenth Suffolk", "ocd-division/country:us/state:ma/sldl:19th_suffolk"), ("First Barnstable", "ocd-division/country:us/state:ma/sldl:1st_barnstable"), ("First Berkshire", "ocd-division/country:us/state:ma/sldl:1st_berkshire"), ("First Bristol", "ocd-division/country:us/state:ma/sldl:1st_bristol"), ("First Essex", "ocd-division/country:us/state:ma/sldl:1st_essex"), ("First Franklin", "ocd-division/country:us/state:ma/sldl:1st_franklin"), ("First Hampden", "ocd-division/country:us/state:ma/sldl:1st_hampden"), ("First Hampshire", "ocd-division/country:us/state:ma/sldl:1st_hampshire"), ("First Middlesex", "ocd-division/country:us/state:ma/sldl:1st_middlesex"), ("First Norfolk", "ocd-division/country:us/state:ma/sldl:1st_norfolk"), ("First Plymouth", "ocd-division/country:us/state:ma/sldl:1st_plymouth"), ("First Suffolk", "ocd-division/country:us/state:ma/sldl:1st_suffolk"), ("First Worcester", "ocd-division/country:us/state:ma/sldl:1st_worcester"), ("Twentieth Middlesex", "ocd-division/country:us/state:ma/sldl:20th_middlesex"), ("Twenty-First Middlesex", "ocd-division/country:us/state:ma/sldl:21st_middlesex"), ("Twenty-Second Middlesex", "ocd-division/country:us/state:ma/sldl:22nd_middlesex"), ("Twenty-Third Middlesex", "ocd-division/country:us/state:ma/sldl:23rd_middlesex"), ("Twenty-Fourth Middlesex", "ocd-division/country:us/state:ma/sldl:24th_middlesex"), ("Twenty-Fifth Middlesex", "ocd-division/country:us/state:ma/sldl:25th_middlesex"), ("Twenty-Sixth Middlesex", "ocd-division/country:us/state:ma/sldl:26th_middlesex"), ("Twenty-Seventh Middlesex", "ocd-division/country:us/state:ma/sldl:27th_middlesex"), ("Twenty-Eighth Middlesex", "ocd-division/country:us/state:ma/sldl:28th_middlesex"), ("Twenty-Ninth Middlesex", "ocd-division/country:us/state:ma/sldl:29th_middlesex"), ("Second Barnstable", "ocd-division/country:us/state:ma/sldl:2nd_barnstable"), ("Second Berkshire", "ocd-division/country:us/state:ma/sldl:2nd_berkshire"), ("Second Bristol", "ocd-division/country:us/state:ma/sldl:2nd_bristol"), ("Second Essex", "ocd-division/country:us/state:ma/sldl:2nd_essex"), ("Second Franklin", "ocd-division/country:us/state:ma/sldl:2nd_franklin"), ("Second Hampden", "ocd-division/country:us/state:ma/sldl:2nd_hampden"), ("Second Hampshire", "ocd-division/country:us/state:ma/sldl:2nd_hampshire"), ("Second Middlesex", "ocd-division/country:us/state:ma/sldl:2nd_middlesex"), ("Second Norfolk", "ocd-division/country:us/state:ma/sldl:2nd_norfolk"), ("Second Plymouth", "ocd-division/country:us/state:ma/sldl:2nd_plymouth"), ("Second Suffolk", "ocd-division/country:us/state:ma/sldl:2nd_suffolk"), ("Second Worcester", "ocd-division/country:us/state:ma/sldl:2nd_worcester"), ("Thirtieth Middlesex", "ocd-division/country:us/state:ma/sldl:30th_middlesex"), ("Thirty-First Middlesex", "ocd-division/country:us/state:ma/sldl:31st_middlesex"), ("Thirty-Second Middlesex", "ocd-division/country:us/state:ma/sldl:32nd_middlesex"), ("Thirty-Third Middlesex", "ocd-division/country:us/state:ma/sldl:33rd_middlesex"), ("Thirty-Fourth Middlesex", "ocd-division/country:us/state:ma/sldl:34th_middlesex"), ("Thirty-Fifth Middlesex", "ocd-division/country:us/state:ma/sldl:35th_middlesex"), ("Thirty-Sixth Middlesex", "ocd-division/country:us/state:ma/sldl:36th_middlesex"), ("Thirty-Seventh Middlesex", "ocd-division/country:us/state:ma/sldl:37th_middlesex"), ("Third Barnstable", "ocd-division/country:us/state:ma/sldl:3rd_barnstable"), ("Third Berkshire", "ocd-division/country:us/state:ma/sldl:3rd_berkshire"), ("Third Bristol", "ocd-division/country:us/state:ma/sldl:3rd_bristol"), ("Third Essex", "ocd-division/country:us/state:ma/sldl:3rd_essex"), ("Third Hampden", "ocd-division/country:us/state:ma/sldl:3rd_hampden"), ("Third Hampshire", "ocd-division/country:us/state:ma/sldl:3rd_hampshire"), ("Third Middlesex", "ocd-division/country:us/state:ma/sldl:3rd_middlesex"), ("Third Norfolk", "ocd-division/country:us/state:ma/sldl:3rd_norfolk"), ("Third Plymouth", "ocd-division/country:us/state:ma/sldl:3rd_plymouth"), ("Third Suffolk", "ocd-division/country:us/state:ma/sldl:3rd_suffolk"), ("Third Worcester", "ocd-division/country:us/state:ma/sldl:3rd_worcester"), ("Fourth Barnstable", "ocd-division/country:us/state:ma/sldl:4th_barnstable"), ("Fourth Berkshire", "ocd-division/country:us/state:ma/sldl:4th_berkshire"), ("Fourth Bristol", "ocd-division/country:us/state:ma/sldl:4th_bristol"), ("Fourth Essex", "ocd-division/country:us/state:ma/sldl:4th_essex"), ("Fourth Hampden", "ocd-division/country:us/state:ma/sldl:4th_hampden"), ("Fourth Middlesex", "ocd-division/country:us/state:ma/sldl:4th_middlesex"), ("Fourth Norfolk", "ocd-division/country:us/state:ma/sldl:4th_norfolk"), ("Fourth Plymouth", "ocd-division/country:us/state:ma/sldl:4th_plymouth"), ("Fourth Suffolk", "ocd-division/country:us/state:ma/sldl:4th_suffolk"), ("Fourth Worcester", "ocd-division/country:us/state:ma/sldl:4th_worcester"), ("Fifth Barnstable", "ocd-division/country:us/state:ma/sldl:5th_barnstable"), ("Fifth Bristol", "ocd-division/country:us/state:ma/sldl:5th_bristol"), ("Fifth Essex", "ocd-division/country:us/state:ma/sldl:5th_essex"), ("Fifth Hampden", "ocd-division/country:us/state:ma/sldl:5th_hampden"), ("Fifth Middlesex", "ocd-division/country:us/state:ma/sldl:5th_middlesex"), ("Fifth Norfolk", "ocd-division/country:us/state:ma/sldl:5th_norfolk"), ("Fifth Plymouth", "ocd-division/country:us/state:ma/sldl:5th_plymouth"), ("Fifth Suffolk", "ocd-division/country:us/state:ma/sldl:5th_suffolk"), ("Fifth Worcester", "ocd-division/country:us/state:ma/sldl:5th_worcester"), ("Sixth Bristol", "ocd-division/country:us/state:ma/sldl:6th_bristol"), ("Sixth Essex", "ocd-division/country:us/state:ma/sldl:6th_essex"), ("Sixth Hampden", "ocd-division/country:us/state:ma/sldl:6th_hampden"), ("Sixth Middlesex", "ocd-division/country:us/state:ma/sldl:6th_middlesex"), ("Sixth Norfolk", "ocd-division/country:us/state:ma/sldl:6th_norfolk"), ("Sixth Plymouth", "ocd-division/country:us/state:ma/sldl:6th_plymouth"), ("Sixth Suffolk", "ocd-division/country:us/state:ma/sldl:6th_suffolk"), ("Sixth Worcester", "ocd-division/country:us/state:ma/sldl:6th_worcester"), ("Seventh Bristol", "ocd-division/country:us/state:ma/sldl:7th_bristol"), ("Seventh Essex", "ocd-division/country:us/state:ma/sldl:7th_essex"), ("Seventh Hampden", "ocd-division/country:us/state:ma/sldl:7th_hampden"), ("Seventh Middlesex", "ocd-division/country:us/state:ma/sldl:7th_middlesex"), ("Seventh Norfolk", "ocd-division/country:us/state:ma/sldl:7th_norfolk"), ("Seventh Plymouth", "ocd-division/country:us/state:ma/sldl:7th_plymouth"), ("Seventh Suffolk", "ocd-division/country:us/state:ma/sldl:7th_suffolk"), ("Seventh Worcester", "ocd-division/country:us/state:ma/sldl:7th_worcester"), ("Eighth Bristol", "ocd-division/country:us/state:ma/sldl:8th_bristol"), ("Eighth Essex", "ocd-division/country:us/state:ma/sldl:8th_essex"), ("Eighth Hampden", "ocd-division/country:us/state:ma/sldl:8th_hampden"), ("Eighth Middlesex", "ocd-division/country:us/state:ma/sldl:8th_middlesex"), ("Eighth Norfolk", "ocd-division/country:us/state:ma/sldl:8th_norfolk"), ("Eighth Plymouth", "ocd-division/country:us/state:ma/sldl:8th_plymouth"), ("Eighth Suffolk", "ocd-division/country:us/state:ma/sldl:8th_suffolk"), ("Eighth Worcester", "ocd-division/country:us/state:ma/sldl:8th_worcester"), ("Ninth Bristol", "ocd-division/country:us/state:ma/sldl:9th_bristol"), ("Ninth Essex", "ocd-division/country:us/state:ma/sldl:9th_essex"), ("Ninth Hampden", "ocd-division/country:us/state:ma/sldl:9th_hampden"), ("Ninth Middlesex", "ocd-division/country:us/state:ma/sldl:9th_middlesex"), ("Ninth Norfolk", "ocd-division/country:us/state:ma/sldl:9th_norfolk"), ("Ninth Plymouth", "ocd-division/country:us/state:ma/sldl:9th_plymouth"), ("Ninth Suffolk", "ocd-division/country:us/state:ma/sldl:9th_suffolk"), ("Ninth Worcester", "ocd-division/country:us/state:ma/sldl:9th_worcester"), ("Barnstable, Dukes and Nantucket", "ocd-division/country:us/state:ma/sldl:barnstable_dukes_and_nantucket" ), ] upper_divs = [ ("Berkshire, Hampshire, Franklin and Hampden", "ocd-division/country:us/state:ma/sldu:berkshire_hampshire_franklin_and_hampden" ), ("Bristol and Norfolk", "ocd-division/country:us/state:ma/sldu:bristol_and_norfolk"), ("Cape and Islands", "ocd-division/country:us/state:ma/sldu:cape_and_islands"), ("Fifth Middlesex", "ocd-division/country:us/state:ma/sldu:5th_middlesex"), ("First Bristol and Plymouth", "ocd-division/country:us/state:ma/sldu:1st_bristol_and_plymouth"), ("First Essex", "ocd-division/country:us/state:ma/sldu:1st_essex"), ("First Essex and Middlesex", "ocd-division/country:us/state:ma/sldu:1st_essex_and_middlesex"), ("First Hampden and Hampshire", "ocd-division/country:us/state:ma/sldu:1st_hampden_and_hampshire" ), ("First Middlesex", "ocd-division/country:us/state:ma/sldu:1st_middlesex"), ("First Middlesex and Norfolk", "ocd-division/country:us/state:ma/sldu:1st_middlesex_and_norfolk" ), ("First Plymouth and Bristol", "ocd-division/country:us/state:ma/sldu:1st_plymouth_and_bristol"), ("First Suffolk", "ocd-division/country:us/state:ma/sldu:1st_suffolk"), ("First Suffolk and Middlesex", "ocd-division/country:us/state:ma/sldu:1st_suffolk_and_middlesex" ), ("First Worcester", "ocd-division/country:us/state:ma/sldu:1st_worcester"), ("Fourth Middlesex", "ocd-division/country:us/state:ma/sldu:4th_middlesex"), ("Hampden", "ocd-division/country:us/state:ma/sldu:hampden"), ("Hampshire, Franklin and Worcester", "ocd-division/country:us/state:ma/sldu:hampshire_franklin_and_worcester" ), ("Middlesex and Suffolk", "ocd-division/country:us/state:ma/sldu:middlesex_and_suffolk"), ("Middlesex and Worcester", "ocd-division/country:us/state:ma/sldu:middlesex_and_worcester"), ("Norfolk, Bristol and Middlesex", "ocd-division/country:us/state:ma/sldu:norfolk_bristol_and_middlesex" ), ("Norfolk, Bristol and Plymouth", "ocd-division/country:us/state:ma/sldu:norfolk_bristol_and_plymouth" ), ("Norfolk and Plymouth", "ocd-division/country:us/state:ma/sldu:norfolk_and_plymouth"), ("Norfolk and Suffolk", "ocd-division/country:us/state:ma/sldu:norfolk_and_suffolk"), ("Plymouth and Barnstable", "ocd-division/country:us/state:ma/sldu:plymouth_and_barnstable"), ("Plymouth and Norfolk", "ocd-division/country:us/state:ma/sldu:plymouth_and_norfolk"), ("Second Bristol and Plymouth", "ocd-division/country:us/state:ma/sldu:2nd_bristol_and_plymouth"), ("Second Essex", "ocd-division/country:us/state:ma/sldu:2nd_essex"), ("Second Essex and Middlesex", "ocd-division/country:us/state:ma/sldu:2nd_essex_and_middlesex"), ("Second Hampden and Hampshire", "ocd-division/country:us/state:ma/sldu:2nd_hampden_and_hampshire" ), ("Second Middlesex", "ocd-division/country:us/state:ma/sldu:2nd_middlesex"), ("Second Middlesex and Norfolk", "ocd-division/country:us/state:ma/sldu:2nd_middlesex_and_norfolk" ), ("Second Plymouth and Bristol", "ocd-division/country:us/state:ma/sldu:2nd_plymouth_and_bristol"), ("Second Suffolk", "ocd-division/country:us/state:ma/sldu:2nd_suffolk"), ("Second Suffolk and Middlesex", "ocd-division/country:us/state:ma/sldu:2nd_suffolk_and_middlesex" ), ("Second Worcester", "ocd-division/country:us/state:ma/sldu:2nd_worcester"), ("Third Essex", "ocd-division/country:us/state:ma/sldu:3rd_essex"), ("Third Middlesex", "ocd-division/country:us/state:ma/sldu:3rd_middlesex"), ("Worcester, Hampden, Hampshire and Middlesex", "ocd-division/country:us/state:ma/sldu:worcester_hampden_hampshire_and_middlesex" ), ("Worcester and Middlesex", "ocd-division/country:us/state:ma/sldu:worcester_and_middlesex"), ("Worcester and Norfolk", "ocd-division/country:us/state:ma/sldu:worcester_and_norfolk"), ] for name, division_id in lower_divs: lower.add_post(label=name, role=lower_title, division_id=division_id) for name, division_id in upper_divs: upper.add_post(label=name, role=upper_title, division_id=division_id) yield Organization(name='Office of the Governor', classification='executive') yield legislature yield upper yield lower
def get_organizations(self): city = Organization('City of Minneapolis', classification='executive') city.add_post('Mayor', 'Mayor', division_id='ocd-division/country:us/state:mn/place:minneapolis') city.add_post('City Clerk', 'City Clerk', division_id='ocd-division/country:us/state:mn/place:minneapolis') yield city council = Organization(name="Minneapolis City Council", classification="legislature", parent_id=city) for x in range(1, 14): council.add_post( "Ward {}".format(x), "Councilmember", division_id='ocd-division/country:us/state:mn/place:minneapolis/ward:{}'.format(x)) yield council frey = Person(name="Frey, Jacob") frey.add_term('Mayor', 'executive', start_date=datetime.date(2018, 1, 19), appointment=True) frey.add_source('http://www.google.com') yield frey parks = Organization('Minneapolis Parks and Recreation', classification='legislature') for x in range(1, 7): parks.add_post( "District {}".format(x), "Commissioner") parks.add_post("At Large", "Commissioner") yield parks school = Organization('Minneapolis School Board', classification='legislature') for x in range(1, 7): school.add_post( "District {}".format(x), "Director",) school.add_post("At Large", "Director") yield school cmt_link = 'https://lims.minneapolismn.gov/Calendar/GetCommittees' cmts_site = requests.get(cmt_link) cmts = cmts_site.json() for c in cmts: name = c['Name'] abbv = c['Abbreviation'] org_id = c['Id'] active = c['Active'] member_count = c['MembersCount'] purpose = c['Purpose'] start_date = c['StartDate'] chair = c['ChairMan'] members = c['Members'] location = c['Location'] address = c['Address'] mtg_time = c['MeetingTime'] quorum = c['QuorumCount'] if name != 'City Council': org = Organization(name, classification='committee', parent_id=council) org.add_source(cmt_link) if start_date != None: org.founding_date = start_date.split('T')[0] yield org
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label='Whitby', division_id=self.division_id) for seat_number in range(1, 4): organization.add_post(role='Regional Councillor', label='Whitby (seat {})'.format(seat_number), division_id=self.division_id) organization.add_post(role='Councillor', label='North Ward') organization.add_post(role='Councillor', label='West Ward') organization.add_post(role='Councillor', label='Centre Ward') organization.add_post(role='Councillor', label='East Ward') yield organization
def get_organizations(self): council = Organization('New York City Council', classification='legislature') for x in range(1, 52): council.add_post(str(x), role='Council Member') yield council
def get_organizations(self): council = Organization('City of Madison Common Council', classification='legislature') for x in range(1, 21): council.add_post(str(x), role='Alder') yield council
def get_organizations(self): org = Organization(name="Board of Directors", classification="legislature") org.add_post( 'Mayor of the City of Los Angeles', 'Board Member', division_id='ocd-division/country:us/state:ca/place:los_angeles') for district in range(1, 6): org.add_post( 'Los Angeles County Board Supervisor, District {}'.format( district), 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/council_district:{}' .format(district)) org.add_post( 'Appointee of Mayor of the City of Los Angeles', 'Board Member', division_id='ocd-division/country:us/state:ca/place:los_angeles') org.add_post('Appointee of Governor of California', 'Nonvoting Board Member', division_id='ocd-division/country:us/state:ca') org.add_post( 'District 7 Director, California Department of Transportation (Caltrans), Appointee of the Governor of California', 'Nonvoting Board Member', division_id='ocd-division/country:us/state:ca') org.add_post( 'Appointee of Los Angeles County City Selection Committee, North County/San Fernando Valley sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:north_county_san_fernando_valley' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, Southwest Corridor sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:southwest_corridor' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, San Gabriel Valley sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:san_gabriel_valley' ) org.add_post( 'Appointee of Los Angeles County City Selection Committee, Southeast Long Beach sector', 'Board Member', division_id= 'ocd-division/country:us/state:ca/county:los_angeles/la_metro_sector:southeast_long_beach' ) org.add_post('Chair', 'Chair') org.add_post('Vice Chair', 'Vice Chair') org.add_post('1st Vice Chair', '1st Vice Chair') org.add_post('2nd Vice Chair', '2nd Vice Chair') org.add_post("Chief Executive Officer", "Chief Executive Officer") org.add_source( 'https://metro.legistar.com/DepartmentDetail.aspx?ID=28529&GUID=44319A1A-B2B7-48CC-B857-ADCE9064573B', note='web') yield org org = Organization(name="Crenshaw Project Corporation", classification="corporation") org.add_source( 'https://metro.legistar.com/DepartmentDetail.aspx?ID=32216&GUID=D790CC05-ACCB-451C-B576-2952090769F1' ) yield org org = Organization(name="LA SAFE", classification="corporation") org.add_source( 'https://metro.legistar.com/DepartmentDetail.aspx?ID=30222&GUID=5F27DA83-633F-4FEA-A4B0-0477551061B6&R=aef57793-1826-4cfa-b6e3-d6b42cf77527' ) yield org
def get_organizations(self): global date_range city = Organization('City of Saint Paul', classification='executive') city.add_post( 'Mayor', 'Mayor', division_id='ocd-division/country:us/state:mn/place:st_paul') city.add_post( 'City Clerk', 'City Clerk', division_id='ocd-division/country:us/state:mn/place:st_paul') yield city council = Organization(name="Saint Paul City Council", classification="legislature", parent_id=city) for x in range(1, 8): council.add_post( "Ward {}".format(x), "Councilmember", division_id= 'ocd-division/country:us/state:mn/place:st_paul/ward:{}'. format(x)) yield council carter = Person(name="Melvin Carter") carter.add_term('Mayor', 'executive', start_date=dtdate(2018, 1, 19), appointment=True) carter.add_source('http://www.google.com') yield carter new_meetings = [] temp_labels = [] for date in date_range: print('Checking date:', date) root = requests.get("https://www.stpaul.gov/calendar/" + date) base = html.fromstring(root.text) items = base.xpath('.//*/div[@class="view-content"]/div') meetings = [] for i in items: if len( i.xpath( './/*/span[@class="date-display-single"]/text()') ) > 0: d = {} d['date'] = i.xpath( './/*/span[@class="date-display-single"]/text()')[0] d['info'] = i.xpath( './/*/span[@class="field-content"]/a/text()')[0] d['link'] = i.xpath( './/*/span[@class="field-content"]/a/@href')[0] meetings.append(d) for m in meetings: m['link'] = "https://www.stpaul.gov" + m['link'] for m in meetings: r = requests.get(m['link']) b = html.fromstring(r.text) exists = b.xpath('.//div[@class="node-content clearfix"]') if len(exists) > 0: if not 'City Council' in m[ 'info'] and not 'Legislative' in m[ 'info'] and not 'Holiday' in m['info']: m['name'] = m['info'].replace('Meeting', '').replace( ' - Cancelled', '').replace('Events', '').strip() if not m['name'] in temp_labels: temp_labels.append(m['name']) new_meetings.append(m) print('Creating organizations') for m in new_meetings: print(m) cmt = Organization(name=m['name'], classification='committee', parent_id=city) cmt.add_source(m['link']) yield cmt
def scrape(self): exclude_divisions = { 'ocd-division/country:ca/csd:1301006', # Saint John 'ocd-division/country:ca/csd:1307022', # Moncton 'ocd-division/country:ca/csd:1310032', # Fredericton } expected_roles = { 'Mayor', 'Councillor', } unique_roles = { 'Mayor', } classifications = { 'Cities': 'City', 'Towns': 'Town', 'Villages': 'Village', 'Rural Communities': 'Community', 'Regional Municipality': 'Regional', } corrections = { 'Beaubassin-est/East': 'Beaubassin East', 'Lac-Baker': 'Lac Baker', 'Saint-François-de-Madawaska': 'Saint-François de Madawaska', 'Saint-Hilaire': 'Saint Hilaire', } unknown_names = { 'Haut-Madawaska', # incorporated after Census 2016 } duplicate_names = { 'Denis Savoie', 'Josée Levesque', 'Luc Levesque', } names_to_ids = {} for division in Division.get('ocd-division/country:ca').children( 'csd'): type_id = division.id.rsplit(':', 1)[1] if type_id.startswith('13'): if division.attrs['classification'] == 'P': continue if division.name in names_to_ids: raise Exception('unhandled collision: {}'.format( division.name)) else: names_to_ids[division.name] = division.id page = self.lxmlize(COUNCIL_PAGE) list_links = page.xpath( '//div[@id="sidebar"]//div[contains(@class, "list")][1]//a') birth_date = 1900 seen = set() assert len(list_links), 'No list items found' for list_link in list_links: page = self.lxmlize(list_link.attrib['href']) detail_urls = page.xpath('//td[1]//@href') assert len(detail_urls), 'No municipalities found' for detail_url in detail_urls: page = self.lxmlize(detail_url, encoding='utf-8') division_name = re.sub( r'\ASt\b\.?', 'Saint', page.xpath('//h1/text()')[0].split(' - ', 1)[1]) division_name = corrections.get(division_name, division_name) if division_name in unknown_names: continue division_id = names_to_ids[division_name] if division_id in exclude_divisions: continue if division_id in seen: raise Exception( 'unhandled collision: {}'.format(division_id)) seen.add(division_id) division_name = Division.get(division_id).name organization_name = '{} {} Council'.format( division_name, classifications[list_link.text]) organization = Organization(name=organization_name, classification='government') organization.add_source(detail_url) address = ', '.join( page.xpath('//div[@class="left_contents"]/p[1]/text()')) contacts = page.xpath( '//div[@class="left_contents"]/p[contains(., "Contact")]/text()' ) phone = contacts[0].split(':')[1] if len(contacts) > 1: fax = contacts[1].split(':')[1] email = self.get_email(page, '//div[@class="left_contents"]', error=False) url = page.xpath( '//div[@class="left_contents"]//@href[not(contains(., "mailto:"))]' ) if url: url = url[0] groups = page.xpath( '//div[contains(@class, "right_contents")]/p') assert len(groups), 'No groups found' for p in groups: role = p.xpath('./b/text()')[0].rstrip('s') if role not in expected_roles: raise Exception('unexpected role: {}'.format(role)) councillors = p.xpath('./text()') assert len(councillors), 'No councillors found' for seat_number, name in enumerate(councillors, 1): if 'vacant' in name.lower(): continue if role in unique_roles: district = division_name else: district = '{} (seat {})'.format( division_name, seat_number) organization.add_post(role=role, label=district, division_id=division_id) p = Person(primary_org='government', primary_org_name=organization_name, name=name, district=district, role=role) p.add_source(COUNCIL_PAGE) p.add_source(list_link.attrib['href']) p.add_source(detail_url) if name in duplicate_names: p.birth_date = str(birth_date) birth_date += 1 p.add_contact('address', address, 'legislature') # @see https://en.wikipedia.org/wiki/Area_code_506 if phone: p.add_contact('voice', phone, 'legislature', area_code=506) if fax: p.add_contact('fax', fax, 'legislature', area_code=506) if email: p.add_contact('email', email) if url: p.add_link(url) p._related[0].extras[ 'boundary_url'] = '/boundaries/census-subdivisions/{}/'.format( division_id.rsplit(':', 1)[1]) yield p yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Regional Chair', label=self.division_name, division_id=self.division_id) organization.add_post(role='Mayor', label='Caledon', division_id='ocd-division/country:ca/csd:3521024') organization.add_post(role='Mayor', label='Brampton', division_id='ocd-division/country:ca/csd:3521010') organization.add_post(role='Mayor', label='Mississauga', division_id='ocd-division/country:ca/csd:3521005') for ward_number in range(1, 6): organization.add_post(role='Councillor', label='Caledon Ward {}'.format(ward_number), division_id='ocd-division/country:ca/csd:3521024/ward:{}'.format(ward_number)) for ward_number in range(1, 11): organization.add_post(role='Councillor', label='Brampton Ward {}'.format(ward_number), division_id='ocd-division/country:ca/csd:3521010/ward:{}'.format(ward_number)) for ward_number in range(1, 12): organization.add_post(role='Councillor', label='Mississauga Ward {}'.format(ward_number), division_id='ocd-division/country:ca/csd:3521005/ward:{}'.format(ward_number)) yield organization
def get_organizations(self): legislature_name = "Vermont General Assembly" lower_chamber_name = "House" lower_title = "Representative" upper_chamber_name = "Senate" upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") governor = Organization(name='Office of the Governor', classification='executive') upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) lower.add_post( label='Addison-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-1') lower.add_post( label='Addison-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-2') lower.add_post( label='Addison-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-3') lower.add_post( label='Addison-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-4') lower.add_post( label='Addison-5', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-5') lower.add_post( label='Addison-Rutland', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:addison-rutland' ) lower.add_post( label='Bennington-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:bennington-1') lower.add_post( label='Bennington-2-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:bennington-2-1') lower.add_post( label='Bennington-2-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:bennington-2-2') lower.add_post( label='Bennington-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:bennington-3') lower.add_post( label='Bennington-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:bennington-4') lower.add_post( label='Bennington-Rutland', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:bennington-rutland') lower.add_post( label='Caledonia-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:caledonia-1') lower.add_post( label='Caledonia-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:caledonia-2') lower.add_post( label='Caledonia-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:caledonia-3') lower.add_post( label='Caledonia-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:caledonia-4') lower.add_post( label='Caledonia-Washington', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:caledonia-washington') lower.add_post( label='Chittenden-10', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-10') lower.add_post( label='Chittenden-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-1') lower.add_post( label='Chittenden-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-2') lower.add_post( label='Chittenden-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-3') lower.add_post( label='Chittenden-4-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-4-1') lower.add_post( label='Chittenden-4-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-4-2') lower.add_post( label='Chittenden-5-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-5-1') lower.add_post( label='Chittenden-5-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-5-2') lower.add_post( label='Chittenden-6-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-1') lower.add_post( label='Chittenden-6-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-2') lower.add_post( label='Chittenden-6-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-3') lower.add_post( label='Chittenden-6-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-4') lower.add_post( label='Chittenden-6-5', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-5') lower.add_post( label='Chittenden-6-6', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-6') lower.add_post( label='Chittenden-6-7', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-6-7') lower.add_post( label='Chittenden-7-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-7-1') lower.add_post( label='Chittenden-7-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-7-2') lower.add_post( label='Chittenden-7-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-7-3') lower.add_post( label='Chittenden-7-4', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-7-4') lower.add_post( label='Chittenden-8-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-8-1') lower.add_post( label='Chittenden-8-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-8-2') lower.add_post( label='Chittenden-8-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-8-3') lower.add_post( label='Chittenden-9-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-9-1') lower.add_post( label='Chittenden-9-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:chittenden-9-2') lower.add_post( label='Essex-Caledonia', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:essex-caledonia' ) lower.add_post( label='Essex-Caledonia-Orleans', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:essex-caledonia-orleans') lower.add_post( label='Franklin-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-1') lower.add_post( label='Franklin-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-2') lower.add_post( label='Franklin-3-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-3-1') lower.add_post( label='Franklin-3-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-3-2') lower.add_post( label='Franklin-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-4') lower.add_post( label='Franklin-5', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-5') lower.add_post( label='Franklin-6', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-6') lower.add_post( label='Franklin-7', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:franklin-7') lower.add_post( label='Grand Isle-Chittenden', # maximum=2, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:grand_isle-chittenden') lower.add_post( label='Lamoille-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:lamoille-1') lower.add_post( label='Lamoille-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:lamoille-2') lower.add_post( label='Lamoille-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:lamoille-3') lower.add_post( label='Lamoille-Washington', # maximum=2, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:lamoille-washington') lower.add_post( label='Orange-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orange-1') lower.add_post( label='Orange-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orange-2') lower.add_post( label='Orange-Caledonia', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orange-caledonia' ) lower.add_post( label='Orange-Washington-Addison', # maximum=2, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:orange-washington-addison') lower.add_post( label='Orleans-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orleans-1') lower.add_post( label='Orleans-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orleans-2') lower.add_post( label='Orleans-Caledonia', # maximum=2, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:orleans-caledonia') lower.add_post( label='Orleans-Lamoille', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:orleans-lamoille' ) lower.add_post( label='Rutland-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-1') lower.add_post( label='Rutland-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-2') lower.add_post( label='Rutland-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-3') lower.add_post( label='Rutland-4', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-4') lower.add_post( label='Rutland-5-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-5-1') lower.add_post( label='Rutland-5-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-5-2') lower.add_post( label='Rutland-5-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-5-3') lower.add_post( label='Rutland-5-4', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-5-4') lower.add_post( label='Rutland-6', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:rutland-6') lower.add_post( label='Rutland-Bennington', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:rutland-bennington') lower.add_post( label='Rutland-Windsor-1', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:rutland-windsor-1') lower.add_post( label='Rutland-Windsor-2', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:rutland-windsor-2') lower.add_post( label='Washington-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-1') lower.add_post( label='Washington-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-2') lower.add_post( label='Washington-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-3') lower.add_post( label='Washington-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-4') lower.add_post( label='Washington-5', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-5') lower.add_post( label='Washington-6', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-6') lower.add_post( label='Washington-7', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:washington-7') lower.add_post( label='Washington-Chittenden', # maximum=2, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:washington-chittenden') lower.add_post( label='Windham-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-1') lower.add_post( label='Windham-2-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-2-1') lower.add_post( label='Windham-2-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-2-2') lower.add_post( label='Windham-2-3', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-2-3') lower.add_post( label='Windham-3', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-3') lower.add_post( label='Windham-4', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-4') lower.add_post( label='Windham-5', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-5') lower.add_post( label='Windham-6', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windham-6') lower.add_post( label='Windham-Bennington', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:windham-bennington') lower.add_post( label='Windham-Bennington-Windsor', # maximum=1, role=lower_title, division_id= 'ocd-division/country:us/state:vt/sldl:windham-bennington-windsor') lower.add_post( label='Windsor-1', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-1') lower.add_post( label='Windsor-2', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-2') lower.add_post( label='Windsor-3-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-3-1') lower.add_post( label='Windsor-3-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-3-2') lower.add_post( label='Windsor-4-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-4-1') lower.add_post( label='Windsor-4-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-4-2') lower.add_post( label='Windsor-5', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-5') lower.add_post( label='Windsor-Orange-1', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-orange-1' ) lower.add_post( label='Windsor-Orange-2', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-orange-2' ) lower.add_post( label='Windsor-Rutland', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:vt/sldl:windsor-rutland' ) upper.add_post( label='Addison', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:addison') upper.add_post( label='Bennington', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:bennington') upper.add_post( label='Caledonia', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:caledonia') upper.add_post( label='Chittenden', # maximum=6, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:chittenden') upper.add_post( label='Essex-Orleans', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:essex-orleans') upper.add_post( label='Franklin', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:franklin') upper.add_post( label='Chittenden-Grand Isle', # maximum=1, role=upper_title, division_id= 'ocd-division/country:us/state:vt/sldu:grand_isle-chittenden') upper.add_post( label='Lamoille', # maximum=1, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:lamoille') upper.add_post( label='Orange', # maximum=1, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:orange') upper.add_post( label='Rutland', # maximum=3, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:rutland') upper.add_post( label='Washington', # maximum=3, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:washington') upper.add_post( label='Windham', # maximum=2, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:windham') upper.add_post( label='Windsor', # maximum=3, role=upper_title, division_id='ocd-division/country:us/state:vt/sldu:windsor') yield legislature yield governor yield upper yield lower
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Chair', label='Waterloo') organization.add_post(role='Regional Councillor', label='Cambridge') organization.add_post(role='Regional Councillor', label='Kitchener') organization.add_post(role='Regional Councillor', label='Waterloo') organization.add_post(role='Regional Councillor', label='North Dumfries') organization.add_post(role='Regional Councillor', label='Wellesley') organization.add_post(role='Regional Councillor', label='Wilmot') organization.add_post(role='Regional Councillor', label='Woolwich') for seat_number in range(1, 3): organization.add_post( role='Regional Councillor', label='Cambridge (seat {})'.format(seat_number)) for seat_number in range(1, 5): organization.add_post( role='Regional Councillor', label='Kitchener (seat {})'.format(seat_number)) for seat_number in range(1, 3): organization.add_post( role='Regional Councillor', label='Waterloo (seat {})'.format(seat_number)) yield organization
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Mayor', label='Thunder Bay', division_id=self.division_id) for seat_number in range(1, 6): organization.add_post(role='Councillor at Large', label='Thunder Bay (seat {})'.format(seat_number), division_id=self.division_id) organization.add_post(role='Councillor', label='Current River') organization.add_post(role='Councillor', label='Red River') organization.add_post(role='Councillor', label='McKellar') organization.add_post(role='Councillor', label='McIntyre') organization.add_post(role='Councillor', label='Northwood') organization.add_post(role='Councillor', label='Westfort') organization.add_post(role='Councillor', label='Neebing') yield organization
def get_organizations(self): legislature = Organization(metadata['legislature_name'], classification='legislature') executive = Organization(metadata['name'] + ' Executive Branch', classification='executive') yield executive self._legislature = legislature self._executive = executive if a_state not in ('ne', 'dc'): for otype in ('upper', 'lower'): if otype in metadata['chambers']: org = Organization(metadata['name'] + ' ' + chamber_name(a_state, otype), classification=otype, parent_id=legislature._id) districts = osbs.api('districts/{}/{}?'.format( a_state, otype)) for district in districts: division = district['division_id'] org.add_post(district['name'], metadata['chambers'][otype]['title'], division_id=division) # old posts if a_state == 'vt' and otype == 'lower': old_posts = [ 'Washington-Chittenden-1', 'Addison-Rutland-1', 'Bennington-5', 'Bennington-Rutland-1', 'Caledonia-Washington-1', 'Chittenden-1-1', 'Chittenden-1-2', 'Chittenden-3-1', 'Chittenden-3-10', 'Chittenden-3-2', 'Chittenden-3-3', 'Chittenden-3-4', 'Chittenden-3-5', 'Chittenden-3-6', 'Chittenden-3-7', 'Chittenden-3-8', 'Chittenden-3-9', 'Chittenden-4', 'Chittenden-8', 'Chittenden-9', 'Franklin-3', 'Grand Isle-Chittenden-1-1', 'Lamoille-Washington-1', 'Lamoille-4', 'Orange-Addison-1', 'Orange-Caledonia-1', 'Orleans-Caledonia-1', 'Orleans-Franklin-1', 'Rutland-1-1', 'Rutland-1-2', 'Rutland-7', 'Rutland-8', 'Washington-3-1', 'Washington-3-2', 'Washington-3-3', 'Windham-2', 'Windham-3-1', 'Windham-3-2', 'Windham-3-3', 'Windham-Bennington-Windsor-1', 'Windham-Bennington-1', 'Windsor-Rutland-1', 'Windsor-Rutland-2', 'Windsor-1-1', 'Windsor-1-2', 'Windsor-3', 'Windsor-4', 'Windsor-6-1', 'Windsor-6-2' ] end_date = '2012-05-01' elif a_state == 'vt' and otype == 'upper': old_posts = ['Grand Isle'] end_date = '2012-05-01' elif a_state == 'nv' and otype == 'upper': old_posts = [ 'Washoe County, No. 1', 'Washoe County, No. 2', 'Washoe County, No. 3', 'Washoe County, No. 4', 'Clark County, No. 1', 'Clark County, No. 2', 'Clark County, No. 3', 'Clark County, No. 4', 'Clark County, No. 5', 'Clark County, No. 6', 'Clark County, No. 7', 'Clark County, No. 8', 'Clark County, No. 9', 'Clark County, No. 10', 'Clark County, No. 11', 'Clark County, No. 12', 'Capital Senatorial District', 'Central Nevada Senatorial District', 'Rural Nevada Senatorial District', ] end_date = '2012-01-01' elif a_state == 'ma': if otype == 'lower': old_posts = [ 'Essex', 'Middlesex', ] elif otype == 'upper': old_posts = [ 'Third Essex and Middlesex', 'Suffolk and Norfolk', 'Hampshire and Franklin', 'Middlesex and Essex', 'Berkshire, Hampshire and Franklin', 'Thirty-First Middlesex', 'Worcester, Hampden, Hampshire and Franklin', 'Middlesex, Suffolk and Essex', ] end_date = '2012-01-01' else: old_posts = [] for p in old_posts: org.add_post(p, metadata['chambers'][otype]['title'], end_date=end_date) yield org else: for post in POSTS[a_state]: self._legislature.add_post( str(post), metadata['chambers']['upper']['title']) yield legislature
def get_organizations(self): organization = Organization(self.name, classification=self.classification) organization.add_post(role='Regional Chair', label='Peel') organization.add_post(role='Mayor', label='Caledon') organization.add_post(role='Mayor', label='Brampton') organization.add_post(role='Mayor', label='Mississauga') for ward_number in range(1, 6): organization.add_post(role='Councillor', label='Caledon Ward {}'.format(ward_number)) for ward_number in range(1, 11): organization.add_post(role='Councillor', label='Brampton Ward {}'.format(ward_number)) for ward_number in range(1, 12): organization.add_post( role='Councillor', label='Mississauga Ward {}'.format(ward_number)) yield organization
def get_organizations(self): legislature_name = "Maryland General Assembly" lower_chamber_name = "House" lower_title = "Delegate" upper_chamber_name = "Senate" upper_seats = 47 upper_title = "Senator" legislature = Organization(name=legislature_name, classification="legislature") upper = Organization(upper_chamber_name, classification='upper', parent_id=legislature._id) lower = Organization(lower_chamber_name, classification='lower', parent_id=legislature._id) for n in range(1, upper_seats + 1): upper.add_post( label=str(n), role=upper_title, division_id='{}/sldu:{}'.format(self.division_id, n)) lower.add_post('1A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:1a') lower.add_post('1B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:1b') lower.add_post('1C', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:1c') lower.add_post('2A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:2a') lower.add_post('2B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:2b') lower.add_post('3A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:3a') lower.add_post('3B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:3b') lower.add_post('4', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:4') lower.add_post('5', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:5') lower.add_post('6', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:6') lower.add_post('7', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:7') lower.add_post('8', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:8') lower.add_post('9A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:9a') lower.add_post('9B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:9b') lower.add_post('10', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:10') lower.add_post('11', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:11') lower.add_post('12', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:12') lower.add_post('13', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:13') lower.add_post('14', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:14') lower.add_post('15', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:15') lower.add_post('16', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:16') lower.add_post('17', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:17') lower.add_post('18', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:18') lower.add_post('19', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:19') lower.add_post('20', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:20') lower.add_post('21', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:21') lower.add_post('22', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:22') lower.add_post('23A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:23a') lower.add_post('23B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:23b') lower.add_post('24', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:24') lower.add_post('25', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:25') lower.add_post('26', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:26') lower.add_post('27A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:27a') lower.add_post('27B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:27b') lower.add_post('27C', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:27c') lower.add_post('28', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:28') lower.add_post('29A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:29a') lower.add_post('29B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:29b') lower.add_post('29C', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:29c') lower.add_post('30A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:30a') lower.add_post('30B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:30b') lower.add_post('31A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:31a') lower.add_post('31B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:31b') lower.add_post('32', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:32') lower.add_post('33', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:33') lower.add_post('34A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:34a') lower.add_post('34B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:34b') lower.add_post('35A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:35a') lower.add_post('35B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:35b') lower.add_post('36', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:36') lower.add_post('37A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:37a') lower.add_post('37B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:37b') lower.add_post('38A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:38a') lower.add_post('38B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:38b') lower.add_post('38C', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:38c') lower.add_post('39', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:39') lower.add_post('40', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:40') lower.add_post('41', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:41') lower.add_post('42A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:42a') lower.add_post('42B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:42b') lower.add_post('43', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:43') lower.add_post('44A', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:44a') lower.add_post('44B', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:44b') lower.add_post('45', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:45') lower.add_post('46', # maximum=3, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:46') lower.add_post('47A', # maximum=2, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:47a') lower.add_post('47B', # maximum=1, role=lower_title, division_id='ocd-division/country:us/state:md/sldl:47b') yield Organization('Office of the Governor', classification='executive') yield legislature yield upper yield lower
def get_organizations(self): dfl = Organization('Republican', classification='party') repub = Organization('Democratic-Farmer-Labor', classification='party') yield dfl yield repub state = Organization(name="State of Minnesota", classification="executive") state.add_post('Governor', 'Governor', division_id='ocd-division/country:us/state:mn') state.add_post('Secretary of State', 'Secretary of State', division_id='ocd-division/country:us/state:mn') state.add_post('State Auditor', 'State Auditor', division_id='ocd-division/country:us/state:mn') state.add_post('Attorney General', 'Attorney General', division_id='ocd-division/country:us/state:mn') state.add_post('Lt Governor', 'Lt Governor', division_id='ocd-division/country:us/state:mn') state.add_post('Governor', 'Governor', division_id='ocd-division/country:us/state:mn') state.add_post('Governor', 'Governor', division_id='ocd-division/country:us/state:mn') yield state legis = Organization('Minnesota Legislature', classification='legislature') upper = Organization('Minnesota Senate', classification='upper', parent_id=legis._id) lower = Organization('Minnesota House of Representatives', classification='lower', parent_id=legis._id) for n in range(1, 68): upper.add_post( label=str(n), role='Senator', division_id='ocd-division/country:us/state:mn/sldu:{}'.format( n)) lower.add_post( label=str(n) + 'A', role='Representative', division_id='ocd-division/country:us/state:mn/sldl:{}a'.format( n)) lower.add_post( label=str(n) + 'B', role='Representative', division_id='ocd-division/country:us/state:mn/sldl:{}b'.format( n)) yield legis yield upper yield lower