#!/usr/bin/env python3 import simplekml import utm from api import Descripciones, Organismo, Puesto, dict_from_txt puestos = [ p for p in Puesto.load() if p.idCentroDirectivo != 1301 and p.idProvision not in ( "L", ) and p.isTAI() ] descripciones = Descripciones.load() organismos = Organismo.load() rcp_organi = {} for o in organismos: for c in o.codigos: if isinstance(c, int): rcp_organi[c] = o kml = simplekml.Kml() kml.document.name = "TAI" style_normal = simplekml.Style() style_normal.iconstyle.color = simplekml.Color.blue style_normal.iconstyle.icon.href = 'http://maps.google.com/mapfiles/ms/micons/blue.png' kml.document.style = style_normal style_con_vacantes = simplekml.Style()
deDireccion = direcis.pop() o.set_lugar(deDireccion) o.latlon = latlons.pop() ok = ok + 1 count = count + 1 print("%3d%% completado: %6d (%s)" % (count * 100 / total, id, ok), end="\r") print ("") organismos = clean_organismos(organismos) Organismo.save(organismos, name="organismos_gob.es") if args.fusion or args.todo: print ("Fusionando organismo administracion.gob.es con dir3_E") organismos_dir3_E = Organismo.load( name="organismos_dir3_E", arregla_direcciones=arregla_direcciones) organismos_gob_es = Organismo.load( name="organismos_gob.es", arregla_direcciones=arregla_direcciones) organismos_dir3_E_dict = {o.idOrganismo: o for o in organismos_dir3_E} organismos_gob_es_dict = {o.idOrganismo: o for o in organismos_gob_es} organismos_dir3_E_dict2 = {o.rcp: o for o in organismos_dir3_E if o.rcp} organismos_gob_es_dict2 = {o.rcp: o for o in organismos_gob_es if o.rcp} codigos_dir3_E = set([o.idOrganismo for o in organismos_dir3_E]) codigos_gob_es = set([o.idOrganismo for o in organismos_gob_es]) codigos_comun = codigos_dir3_E.intersection(codigos_gob_es) rcp_dir3_E = set( [o.rcp for o in organismos_dir3_E if o.rcp and o.idOrganismo not in codigos_comun]) rcp_gob_es = set(
data_excel={} for rx in range(sh.nrows): row = [parse(c) for c in sh.row(rx)] info, index = row[2], row[4] if index is None: index = "¿?¿?¿?" if info is None: info = "¿?¿?¿?" print (str(index) + " ---- " +info) ''' idUnidOrganica = set( [int(i[33:-5]) for i in glob("fuentes/administracion.gob.es/id_*.html")]) organismos = {} for o in Organismo.load(): if o.idUnidOrganica not in idUnidOrganica: o.idUnidOrganica = None for c in o.codigos: organismos[c] = o cod_dir_latlon = get_cod_dir_latlon() arreglos = yaml_from_file("arreglos/rpt_dir3.yml") notas = dict_from_txt("arreglos/notas.txt") todos_puestos = {p.idPuesto: p for p in Puesto.load(name="destinos_tai")} vacantes_tai = [p for p in Puesto.load() if p.isTAI() and p.estado == "V"] class Org: def __init__(self, codigo, descripcion):
re_residencia = re.compile(r"^\s*(\d+-\d+-\d+)\s+([A-Z].*)\s*$") re_sp = re.compile(r" +") re_bk = re.compile(r"\s+") re_puesto = re.compile(r"\b(\d{6,7})\b") re_map = re.compile( r"http://maps.googleapis.com/maps/api/staticmap\?center=(.*?)&.*") re_ll = re.compile(r"https://maps.google.es/maps\?.*&ll=([\d\.,\-]+).*") re_ll2 = re.compile( r"https://www.google.com/maps/search/\?api=1&query=([\d\.,\-]+)") re_paren = re.compile(r"\(.*$") arregla_direcciones = get_direcciones_txt() puestos_v1 = Puesto.load(name="datos/v1.0/destinos_all.json", descripciones="datos/v1.0/descripciones.json") organis_v1 = Organismo.load(name="datos/v1.0/organismos.json") def parse(cell, parse_number=True): if not cell: return None v = cell.value if isinstance(v, float): return int(v) if v.is_integer() else v if isinstance(v, str): v = v.strip() v = re_space.sub(" ", v) v = v.replace("PROGRAMDOR", "PROGRAMADOR") if parse_number and re_number.match(v): v = float(v.replace(",", ".")) return int(v) if v.is_integer() else v
if len(latlons) == 1 and len(direcis) == 1: deDireccion = direcis.pop() o.set_lugar(deDireccion) o.latlon = latlons.pop() ok = ok + 1 count = count + 1 print("%3d%% completado: %6d (%s)" % (count * 100 / total, id, ok), end="\r") print("") organismos = clean_organismos(organismos) Organismo.save(organismos, name="organismos_gob.es") if args.fusion or args.todo: print("Fusionando organismo administracion.gob.es con dir3_E") organismos_dir3_E = Organismo.load(name="organismos_dir3_E", arregla_direcciones=arregla_direcciones) organismos_gob_es = Organismo.load(name="organismos_gob.es", arregla_direcciones=arregla_direcciones) organismos_dir3_E_dict = {o.idOrganismo: o for o in organismos_dir3_E} organismos_gob_es_dict = {o.idOrganismo: o for o in organismos_gob_es} organismos_dir3_E_dict2 = {o.rcp: o for o in organismos_dir3_E if o.rcp} organismos_gob_es_dict2 = {o.rcp: o for o in organismos_gob_es if o.rcp} codigos_dir3_E = set([o.idOrganismo for o in organismos_dir3_E]) codigos_gob_es = set([o.idOrganismo for o in organismos_gob_es]) codigos_comun = codigos_dir3_E.intersection(codigos_gob_es) rcp_dir3_E = set([ o.rcp for o in organismos_dir3_E if o.rcp and o.idOrganismo not in codigos_comun