# encoding: utf-8 """ Tool used to upload representatives from French National Assembly. """ import csv import json import os import sys TYPES = { "API": "Assemblée parlementaire internationale", "ASSEMBLEE": "Assemblée Nationale", "CJR": "Cour de Justice de la République", "CMP": "Commission mixte paritaire", "CNPE": "Commission d’enquête", "CNPS": "Commission spéciale", "COMNL": "Autre commission permanente", "COMPER": "Commission permanente législative", "COMSENAT": "Commission sénatoriale", "COMSPSENAT": "Commission spéciale sénatoriale", "CONFPT": "Conférence des Présidents", "CONSTITU": "Conseil constitutionnel", "DELEG": "Délégation parlementaire", "DELEGBUREAU": "Délégation du Bureau de l'Assemblée Nationale", "DELEGSENAT": "Délégation sénatoriale", "GA": "Groupe d'amitié", "GE": "Groupe d'études", "GEVI": "Groupe d’études à vocation internationale", "GOUVERNEMENT": "Gouvernement", "GP": "Groupe politique", "GROUPESENAT": "Groupe sénatorial", "HCJ": "Haut Cour de Justice", "MINISTERE": "Ministère", "MISINFO": "Mission d’information", "MISINFOCOM": "Mission d’information commune", "MISINFOPRE": "Missions d’information de la conférence des Présidents", "OFFPAR": "Office parlementaire ou délégation mixte", "ORGEXTPARL": "Organisme extra parlementaire", "PARPOL": "Parti politique", "PRESREP": "Présidence de la République", "SENAT": "Sénat", } # Extract types print("Scraping types") with open("../tmp/assemblee_nationale_types.csv", "w", encoding="utf-8", newline="") as csvfile: writer = csv.writer(csvfile, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL) writer.writerow(["code", "name"]) types = {} for filename in os.listdir("../tmp/json/organe"): print(".", end="") sys.stdout.flush() # Loading informations with open(os.path.join("../tmp/json/organe", filename)) as file_handler: organe = json.load(file_handler)["organe"] if organe["codeType"].upper() not in types: types[organe["codeType"].upper()] = TYPES.get(organe["codeType"].upper(), organe["codeType"].upper()) for type_code in types: # CSV line writer.writerow([ type_code, types[type_code], ])