def process_committee(self, data): if data['classification'] != 'committee': return parent = parse_psuedo_id(data['parent_id']) if not parent: return chamber = parent['classification'] if chamber == 'legislature': chamber = 'upper' if 'name' in parent: com = Committee(chamber, parent['name'], subcommittee=data['name']) else: com = Committee(chamber, data['name']) for member in self.memberships[data['_id']]: com.add_member(member['person_name'], role=member['role'], **member.get('extras', {})) for source in data['sources']: com.add_source(source['url']) com.update(**data['extras']) self.save_committee(com)