datauy / quesabes-theme

quesabes.uy theme for Alaveteli
MIT License
1 stars 3 forks source link

Analizar importar datos de Catálogo Nacional de Datos Abiertos #26

Open danielcarranza opened 9 years ago

danielcarranza commented 9 years ago

Los datos son: https://catalogodatos.gub.uy/dataset/datos-de-responsables-de-transparencia

alfius commented 8 years ago

@danielcarranza La idea sería agregar los datos del csv "Datos de responsables de transparencia 2015" y actualizar los emails que tenemos, creando también las instituciones que falten, no? Hay que considerar también la columna Activo/Pasivo? Algún otro detalle a tener en cuenta?

@picandocodigo tenemos algo hecho de esto ya?

danielcarranza commented 8 years ago

Exacto, que de ese dato, cada vez que se actualiza, podamos actualizar el sitio. Vale aclarar que tenemos buenos contactos en UAIP, si conviene pedir que lo publiquen de otra forma, por ejemplo.

Lo de activo/pasivo no nos importa, sólo organismo y correo del responsable.

picandocodigo commented 8 years ago

@picandocodigo tenemos algo hecho de esto ya?

Creo que no hay nada hecho no.

alfius commented 8 years ago

@danielcarranza para que se actualice automáticamente ellos tendrían que exponer una API y nosotros consumirla. Eso me parece que nos deja un poco vulnerables porque ante cualquier descuido, un hacker puede borrar todas las direcciones o apuntarlas a otro lado. Además por lo que veo estos datos cambian solo una vez al año. Lo que se me ocurre es escribir un script que haga la importación y que alguien se encargue de correrlo una vez al año revisando todo con cuidado. Esto así como está ya lo podríamos hacer, pero una cosa que ayudaría sería pedirle a la UIAP que sean consistentes con el formato de los CSV, que veo que del 2014 al 2015 ya hubo cambios en las columnas y sus nombres.

danielcarranza commented 8 years ago

Perdón la demora... CKAN (el software sobre el que corre el catálogo de datos) tiene una API (http://docs.ckan.org/en/ckan-2.4.0/api/) mal mi la omisión. No me queda del todo claro cómo nos deja vulnerables pero no entiendo nada :)

igual lo del script me parece bárbaro también, la idea era automatizarlo y olvidarse, también porque -deberían- actualizar más seguido ese juego de datos.

Sobre la consistencia, ya me pongo en contacto para arreglar eso o ver si hay planes de cambio para 2016.

danielcarranza commented 8 years ago

@alfonsocora me dicen de UAIP que con el formato hacen lo que les pidamos. ¿El de 2015 te parece OK o nos serviría pedir algo en especial?

alfius commented 8 years ago

@danielcarranza buenisimo lo de la API! Eso nos permite saber cuando hay una nueva actualización. Dejo por aca el link para futuras referencias:

curl -s https://catalogodatos.gub.uy/api/3/action/package_show?id=datos-de-responsables-de-transparencia | python -m json.tool

Igualmente el formato de los archivos que devuelve la API sigue siendo ese CSV fiero, que igualmente con un poco de esfuerzo de puede parsear, pero necesitaríamos consistencia para hacerlo automático. Además es bastante lento porque tiene un montón de columnas vacías.

La vulnerabilidad viene por el hecho de recibir por internet algo tan básico para que nuestro sistema funcione. Si alguien hackea el sitio del catálogo por ejemplo, puede rompernos el sitio editando todas las direcciones de email. O si alguien del catálogo sube mal el csv (que ya tiene un formato loco), también puede darnos problemas.

Avanzando un poco con el script, me encontré con que nuestros datos no estan normalizados, o sea, el catálogo expone las instituciones con el nombre exacto que deberían tener (por ej "Dirección General de Presidencia de la República"), pero en nuestro sistema tienen nombres arbitrarios (por ej "Presidencia"). La categorización también es diferente. Esto es algo que tendría que cambiar en nuestro sistema para que la integración funcione. Si te parece bien, yo puedo hacer esa normalización basándome en el CSV y los datos que tenemos. Capaz que alguna que otra te tengo que preguntar :)

danielcarranza commented 8 years ago

¡PERFECTO! Me encantó y aparte ganamos en que usemos los mismos nombres que UAIP que es una fuente oficial. Divino.

Para UAIP entonces el pedido sería "sigan así (nosotros nos adaptamos a los nombres)" y no sean delincuentes y publiquen el CSV sin todas esas columnas vacías al pedo*". ¿No?

*La redacción puede variar ligeramente :P

alfius commented 8 years ago

jajajaja, exacto! (con un poco más de sutileza :stuck_out_tongue:)

danielcarranza commented 8 years ago

Hecho, te cuento cómo me va.

danielcarranza commented 8 years ago

Listo el pollo, en febrero sale versión 2016 con el formato de 2015 menos las columnas 👍

alfius commented 8 years ago

@danielcarranza que grande!!! :clap: :clap: :clap: Gracias! :smile:

alfius commented 8 years ago

@danielcarranza bueno, después de varias luchas con ese csv, tengo medio andando la migración. Acabo de subir al sitio de pruebas una base de datos extraída de producción, adaptada para la última versión de Alaveteli y con la importación de datos de la UAIP, que trae nombres de organismos, emails y categorías. Esto último queda un poco abierto a nosotros porque Alaveteli nos deja ponerle titulos a las categorías y agruparlas, todo esto desde el admin. Aca yo sólo creé "Ministerios" e "Intendencias", pero se pueden crear otras. Un comentario más, pasa varias veces que hay más de un email de contacto para un organismo. El script por ahora se queda solo con el primero. Eso está bien? Bueno, después pegale una vichada y me avisas. Un abrazo!

danielcarranza commented 8 years ago

¡Perfecto! Mil gracias maestro.