From bb66a0a05e8607fa523475756a28c6cc4b532b69 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Jun 2024 19:00:34 -0300 Subject: [PATCH] utils changes --- static_tables.py | 2 ++ unificado.json | 2 -- utils.py | 54 +++++++++++++++++++++++++++--------------------- 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/static_tables.py b/static_tables.py index 8a9f6ed..d09dc1f 100644 --- a/static_tables.py +++ b/static_tables.py @@ -97,6 +97,8 @@ def read_country_tables(country): del profession["profession_id"] professions_catalogue[country] = sheet_reader(SHEET_ID, f"Catalogue profession!B2:B{get_end_range(ST_RANGES['profession'])}", as_list=True) + # print(professions_catalogue[country]) + # sys.exit() # URL types Catalogue url_types[country] = sheet_reader(SHEET_ID, f"Catalogue url_types!{ST_RANGES['url_types']}", as_list=True) diff --git a/unificado.json b/unificado.json index 94e478d..8abe1d0 100644 --- a/unificado.json +++ b/unificado.json @@ -18,7 +18,6 @@ }, "co": { "SHEET_ID": "1W8F9cf88hRXPEeLQEVbXHtQ2K6BnoXRD9vRDWL3Qpeg", - "x_SHEET_ID_2022": "1H9I_fhpQWMPn5wgRvdBrnmoZ9WpgTIwJnKfda6LEycY", "ST_RANGES": { "area": "A1:J111", "chamber": "A1:C111", @@ -35,7 +34,6 @@ , "ar": { "SHEET_ID": "1TvKbHLz6AJPUlEHP9WD_w7_mqQQv8pN4Y9Z7ZF0cq1I", - "x_SHEET_ID_2022": "1H9I_fhpQWMPn5wgRvdBrnmoZ9WpgTIwJnKfda6LEycY", "ST_RANGES": { "area": "A1:J109", "chamber": "A1:C109", diff --git a/utils.py b/utils.py index 793fa15..4413b2a 100644 --- a/utils.py +++ b/utils.py @@ -223,10 +223,10 @@ def get_contest_id(data, contest_chambers, country_location_template): location_template = country_location_template[data["role_type"].strip()] location = location_template.format( state = data["state"].lower(), - area = data["area"].lower() if data["area"] else "-1" #algunas persons no tienen area + area = data["area"].lower() if data["area"] else -1 ) - print('Data', data) + # print('Data', data) if not location: print('location1', location) print('location3', location_template) @@ -234,22 +234,26 @@ def get_contest_id(data, contest_chambers, country_location_template): print('Data', data) sys.exit() - if data["role_type"] == "legislatorLowerBody": - # location = f"distrito federal {data['area']} de {data['state'].lower()}" - #location = f"diputado/a por {data['state'].lower()}" - if data['state'].lower() == "bogotá": - location = f"representante a la cámara por bogotá" - else: - location = f"representante a la cámara por el departamento de {data['state'].lower()}" - # Senador (4) - elif data["role_type"] == "legislatorUpperBody": - # location = data["state"].lower() - if data['state'].lower() == "colombia": - location = f"senador de la república de colombia" - else: - location = f"senador de la república {data['state'].lower()}" + if data["country"] == "co": + if data["role_type"] == "legislatorLowerBody": + if data['state'].lower() == "bogotá": + location = "representante a la cámara por bogotá" + else: + location = f"representante a la cámara por el departamento de {data['state'].lower()}" + elif data["role_type"] == "legislatorUpperBody": + if data['state'].lower() == "colombia": + location = "senador de la república de colombia" + else: + location = f"senador de la república {data['state'].lower()}" - location = data['contest'].lower() + if data["country"] != 'ar': + location = data['contest'].lower() + + # if data["country"] == 'ar' and data["role_type"] == "executiveCouncil" and data["area"] == "": + # location = f"intendente/a de {data["state"].lower()} pcia de {data["state"].lower()}" + + if location == "presidencia de la república mexicana": + location = "presidencia de méxico" for i, contest_chamber in enumerate(contest_chambers, start=1): if data["año"] == '2021' and data["country"] == 'mx': @@ -257,11 +261,13 @@ def get_contest_id(data, contest_chambers, country_location_template): return i if location == contest_chamber: return i - if location != contest_chamber and not location in contest_chamber: - print('location', location) - print('contest_chamber', contest_chamber) - sys.exit() + if location != contest_chamber and not location in contest_chamber: + print('data',data) + print('location', location) + print('contest_chamber', contest_chambers) + sys.exit() + print("get_contest_id: " + "person_id: " + str(data["person_id"]) + " role_type: " + str(data["role_type"]) + " location: " + str(location) + " pais: " + str(data["country"])) #print("role_type_es: " + str(Catalogues.SPANISH_ROLES[data["role_type"]])) # print("contest_chamber: " + str(contest_chambers)) @@ -404,7 +410,7 @@ def make_other_names_struct(dataset): return result -def make_person_profession(dataset, professions): +def make_person_profession(dataset, professions_dict): """**Makes person-profession data** This function makes a valid list of person-profession data for the API from capture GSheet @@ -421,6 +427,7 @@ def make_person_profession(dataset, professions): pattern = r'^profession_[2-6]$' person_profession_id = 0 for i, data in enumerate(dataset, start=1): + professions = professions_dict.get(data["country"]) for field in data: if re.search(pattern, field): profession = data[field].lower() @@ -435,10 +442,11 @@ def make_person_profession(dataset, professions): "profession_id": profession_id }) except Exception: + print(professions) print("make_person_profession error", i, "profession not found", profession) + sys.exit() return lines - def make_membership(dataset, parties_dict, coalitions_dict, contest_chambers_dict, header, roles_dict, location_template_dict): """**Makes membership data**