Пример #1
0
#!/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()
Пример #2
0
                    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(
Пример #3
0
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):
Пример #4
0
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
Пример #5
0
                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