本文整理汇总了Python中pupa.scrape.Person.sort_name方法的典型用法代码示例。如果您正苦于以下问题:Python Person.sort_name方法的具体用法?Python Person.sort_name怎么用?Python Person.sort_name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pupa.scrape.Person
的用法示例。
在下文中一共展示了Person.sort_name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: scrape_legislator
# 需要导入模块: from pupa.scrape import Person [as 别名]
# 或者: from pupa.scrape.Person import sort_name [as 别名]
#.........这里部分代码省略.........
val = old.pop(idname, None)
if val:
new.add_identifier(val, scheme=scheme)
for id in old.pop('all_ids'):
new.add_identifier(id, scheme='openstates')
self._people[id] = new
# contact details
email = old.pop('email', None)
if email:
new.add_contact_detail(type='email', value=email, note='')
office_keys = {'fax': 'fax',
'phone': 'voice',
'email': 'email',
'address': 'address'}
for office in old.pop('offices'):
for key, type in office_keys.items():
if office.get(key):
if 'Office Hours' in office[key] and self.state == 'pa':
for x in office[key].split('Office Hours: '):
if x:
new.add_contact_detail(type=type, value=x, note=office['name'])
else:
new.add_contact_detail(type=type, value=office[key], note=office['name'])
# links
link = old.pop('url', None)
if link:
new.add_link(link)
#for utah, conflict of interest is in links
if self.state == 'ut':
links = old.pop('+links',[])
for l in links:
new.add_link(note="conflict of interest form",url=l)
# sources
for source in old.pop('sources'):
source.pop('retrieved', None)
source.pop('+page', None)
new.add_source(**source)
# roles
for role in old.pop('roles'):
self.process_role(new, role, leg_id=id)
for role_list in old_roles.values():
for role in role_list:
self.process_role(new, role, leg_id=id)
# ignore most of the names for now
old.pop('first_name')
old.pop('middle_name')
old.pop('suffixes')
old.pop('nickname', None)
new.sort_name = old.pop('last_name')
#some places have legacy names without underscores
old.pop('+firstname', None)
old.pop('+lastname', None)
gender = old.pop('+gender', None)
if gender:
new.gender = gender
biography = old.pop('+biography', None)
if biography:
new.biography = biography
birth_date = old.pop('+birth_date', None)
if birth_date:
new.birth_date = birth_date
# keys to keep
to_extras = ['+occupation', '+twitter', '+facebook_url', '+sworn_in_date', '+profession',
'+secretary', '+office_hours', '+resident_county', '+district_name',
'+leg_status', '+legal_position', '+title', '+start_year',
'+end_date', 'occupation', '+oregon_member_id',
'+facebook', '+youtube', '+instagram']
for k in to_extras:
v = old.pop(k, None)
if v:
new.extras[k.replace('+', '')] = v
# keys not to keep
to_pop = ['+office_fax', '+phone', '+room', '+fax', '+email', '+url', '+photo', '+notice',
'+page', '+suffix', '+city', '+address', '+additional_info_url', '+contact_form',
'+fax_number', '+phone_number', '+business_phone', '+email_address', '+img_url',
'+office_phone', '+disctict_name', '+office_loc', '+leg_url', '+office',
'+district_address', '+capital_address', '+bis_phone', '+capital_phone',
'+org_info', '+role', '+other_phone', '+home_phone', '+zip', '+zipcode',
'+county', '+capitol_phone', '+image_url', '+header', '+town_represented',
'+full_address', '+capitol_address', '+website', '+district_phone',
'+district_offices', '+party', '+district', '+capitol_office', '+office_address',
]
for k in to_pop:
old.pop(k, None)
# ensure we got it all
assert not old, old.keys()
return new