def get_post_data(api, json_election_id, json_election_id_to_name): from candidates.cache import get_post_cached from candidates.election_specific import AREA_DATA, AREA_POST_DATA json_election_name = json_election_id_to_name[json_election_id] ynr_election_id = { 'Pre-candidatos a Presidente': 'presidentes-argentina-paso-2015', 'Pre-candidatos a Gobernador de Buenos Aires': 'gobernadores-argentina-paso-2015', 'Pre-candidatos a Gobernador de Tucumán': 'gobernadores-argentina-paso-2015', 'Pre-candidatos a Gobernador de Entre Ríos': 'gobernadores-argentina-paso-2015', 'Pre-Candidatos a Gobernador de San Juan': 'gobernadores-argentina-paso-2015', }[json_election_name] ynr_election_data = Election.objects.get_by_slug(ynr_election_id) province = None m = re.search(r'a Gobernador de (?P<province>.*)', json_election_name) if m: province = m.group('province') areas_by_name = AREA_DATA.areas_by_name[('PRV', '1')] area = areas_by_name[strip_accents(province).upper()] post_id = AREA_POST_DATA.get_post_id( ynr_election_id, area['type'], area['id'] ) else: # It must be the presidential election: post_id = 'presidente' post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def get_post_data(api, origin_post, origin_district): from candidates.cache import get_post_cached from candidates.election_specific import AREA_DATA, AREA_POST_DATA if ("SUPLENTE" in origin_post): return False, False ynr_election_id = { 'DIPUTADO NACIONAL TITULAR': 'diputados-argentina-paso-2015', 'SENADOR NACIONAL TITULAR': 'senadores-argentina-paso-2015', 'PARLAMENTARIO MERCOSUR DISTRITO REGIONAL TITULAR': 'parlamentarios-mercosur-regional-paso-2015', 'PARLAMENTARIO MERCOSUR DISTRITO NACIONAL TITULAR': 'parlamentarios-mercosur-unico-paso-2015' }[origin_post] ynr_election_data = Election.objects.get_by_slug(ynr_election_id) province = None if origin_district == "PARLAMENTARIO MERCOSUR DISTRITO NACIONAL(1)": post_id = 'pmeu' else: areas_by_name = AREA_DATA.areas_by_name[('PRV', '1')] area = areas_by_name[origin_district] post_id = AREA_POST_DATA.get_post_id(ynr_election_id, area['type'], area['id']) post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def get_post_data(api, origin_post,origin_district): from candidates.cache import get_post_cached from candidates.election_specific import AREA_DATA, AREA_POST_DATA if ("SUPLENTE" in origin_post): return False, False; ynr_election_id = { 'DIPUTADO NACIONAL TITULAR': 'diputados-argentina-paso-2015', 'SENADOR NACIONAL TITULAR': 'senadores-argentina-paso-2015', 'PARLAMENTARIO MERCOSUR DISTRITO REGIONAL TITULAR': 'parlamentarios-mercosur-regional-paso-2015', 'PARLAMENTARIO MERCOSUR DISTRITO NACIONAL TITULAR': 'parlamentarios-mercosur-unico-paso-2015' }[origin_post] ynr_election_data = Election.objects.get_by_slug(ynr_election_id) province = None if origin_district == "PARLAMENTARIO MERCOSUR DISTRITO NACIONAL(1)": post_id = 'pmeu' else: areas_by_name = AREA_DATA.areas_by_name[('PRV', '1')] area = areas_by_name[origin_district] post_id = AREA_POST_DATA.get_post_id( ynr_election_id, area['type'], area['id'] ) post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def all_posts_in_all_elections(): """A generator function to yield data on every post for every election The purpose of this generator function is to iterate over every post that should exist and yield the post ID along with the election and area data it should be associated with. It might not be obvious that posts can appear in multiple elections; this means that you might get the same post ID yielded more than once, but with different election and area data.""" for election_data in Election.objects.all(): for area_type in election_data.area_types.all(): area_tuple = (area_type.name, election_data.area_generation) for area_id, area in AREA_DATA.areas_by_id[area_tuple].items(): post_id = AREA_POST_DATA.get_post_id( election_data.slug, area_type, area_id ) yield { 'election': election_data.slug, 'election_data': election_data, 'area_type': area_type, 'area_id': area_id, 'area': area, 'post_id': post_id, }
def get_post_data(api, json_election_id, json_election_id_to_name): from candidates.cache import get_post_cached from candidates.election_specific import AREA_DATA, AREA_POST_DATA json_election_name = json_election_id_to_name[json_election_id] ynr_election_id = { 'Pre-candidatos a Presidente': 'presidentes-argentina-paso-2015', 'Pre-candidatos a Gobernador de Buenos Aires': 'gobernadores-argentina-paso-2015', 'Pre-candidatos a Gobernador de Tucumán': 'gobernadores-argentina-paso-2015', 'Pre-candidatos a Gobernador de Entre Ríos': 'gobernadores-argentina-paso-2015', 'Pre-Candidatos a Gobernador de San Juan': 'gobernadores-argentina-paso-2015', }[json_election_name] ynr_election_data = Election.objects.get_by_slug(ynr_election_id) province = None m = re.search(r'a Gobernador de (?P<province>.*)', json_election_name) if m: province = m.group('province') areas_by_name = AREA_DATA.areas_by_name[('PRV', '1')] area = areas_by_name[strip_accents(province).upper()] post_id = AREA_POST_DATA.get_post_id(ynr_election_id, area['type'], area['id']) else: # It must be the presidential election: post_id = 'presidente' post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def get_post_data(api, json_election_id, json_election_id_to_name): json_election_name = json_election_id_to_name[json_election_id] ynr_election_id = { u'Pre-candidatos a Presidente': 'presidentes-argentina-paso-2015', u'Pre-candidatos a Gobernador de Buenos Aires': 'gobernadores-argentina-paso-2015', u'Pre-candidatos a Gobernador de Tucumán': 'gobernadores-argentina-paso-2015', u'Pre-candidatos a Gobernador de Entre Ríos': 'gobernadores-argentina-paso-2015', u'Pre-Candidatos a Gobernador de San Juan': 'gobernadores-argentina-paso-2015', }[json_election_name] ynr_election_data = settings.ELECTIONS[ynr_election_id] ynr_election_data['id'] = ynr_election_id province = None m = re.search(r'a Gobernador de (?P<province>.*)', json_election_name) if m: province = m.group('province') mapit_areas_by_name = MAPIT_DATA.areas_by_name[('PRV', 1)] mapit_area = mapit_areas_by_name[strip_accents(province).upper()] post_id = AREA_POST_DATA.get_post_id( ynr_election_id, mapit_area['type'], mapit_area['id'] ) else: # It must be the presidential election: post_id = 'presidente' post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def handle_mapit_type(self, election, election_data, mapit_type, **options): post_label_format = _('{post_role} for {area_name}') if options['post_label']: post_label_format = options['post_label'] mapit_tuple = (mapit_type, election_data['mapit_generation']) for id, area in MAPIT_DATA.areas_by_id[mapit_tuple].items(): post_id = AREA_POST_DATA.get_post_id( election, mapit_type, id ) role = election_data['for_post_role'] area_mapit_url = settings.MAPIT_BASE_URL + 'area/' + str(area['id']) post_data = { 'role': role, 'id': post_id, 'label': post_label_format.format( post_role=role, area_name=area['name'] ), 'area': { 'name': area['name'], 'id': 'mapit:' + str(area['id']), 'identifier': area_mapit_url, }, 'organization_id': election_data['organization_id'], } create_or_update(self.api.posts, post_data)
def get_post_data(api, json_election_id, json_election_id_to_name): json_election_name = json_election_id_to_name[json_election_id] ynr_election_id = { u'Pre-candidatos a Presidente': 'presidentes-argentina-paso-2015', u'Pre-candidatos a Gobernador de Buenos Aires': 'gobernadores-argentina-paso-2015', u'Pre-candidatos a Gobernador de Tucumán': 'gobernadores-argentina-paso-2015', u'Pre-candidatos a Gobernador de Entre Ríos': 'gobernadores-argentina-paso-2015', u'Pre-Candidatos a Gobernador de San Juan': 'gobernadores-argentina-paso-2015', }[json_election_name] ynr_election_data = settings.ELECTIONS[ynr_election_id] ynr_election_data['id'] = ynr_election_id province = None m = re.search(r'a Gobernador de (?P<province>.*)', json_election_name) if m: province = m.group('province') mapit_areas_by_name = MAPIT_DATA.areas_by_name[('PRV', 1)] mapit_area = mapit_areas_by_name[strip_accents(province).upper()] post_id = AREA_POST_DATA.get_post_id(ynr_election_id, mapit_area['type'], mapit_area['id']) else: # It must be the presidential election: post_id = 'presidente' post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def get_post_data(api, election_id, province): ynr_election_data = Election.objects.get_by_slug(election_id) area_key = (ynr_election_data.area_types.first().name, ynr_election_data.area_generation) areas_by_name = AREA_DATA.areas_by_name[area_key] if province != 'Burkina Faso': province = strip_accents(province).upper() area = areas_by_name[province] post_id = AREA_POST_DATA.get_post_id( election_id, area['type'], area['id'] ) post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def get_post_data(api, election_id, province): from candidates.cache import get_post_cached from candidates.election_specific import AREA_DATA, AREA_POST_DATA ynr_election_data = Election.objects.get_by_slug(election_id) area_key = (ynr_election_data.area_types.first().name, ynr_election_data.area_generation) areas_by_name = AREA_DATA.areas_by_name[area_key] if province != 'Burkina Faso': province = strip_accents(province).upper() area = areas_by_name[province] post_id = AREA_POST_DATA.get_post_id(election_id, area['type'], area['id']) post_data = get_post_cached(api, post_id)['result'] return ynr_election_data, post_data
def handle_mapit_type(self, election, election_data, mapit_type): mapit_tuple = (mapit_type, election_data['mapit_generation']) for id, area in MAPIT_DATA.areas_by_id[mapit_tuple].items(): post_id = AREA_POST_DATA.get_post_id( election, mapit_type, id ) role = election_data['for_post_role'] area_mapit_url = settings.MAPIT_BASE_URL + 'area/' + str(area['id']) post_data = { 'role': role, 'id': post_id, 'label': role + u' por ' + area['name'], 'area': { 'name': area['name'], 'id': 'mapit:' + str(area['id']), 'identifier': area_mapit_url, }, 'organization_id': election_data['organization_id'], } create_or_update(self.api.posts, post_data)