Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
danielcarranza opened this issue Jul 1, 2015 · 14 comments
Open
Assignees

Comments

@danielcarranza
Copy link
Contributor

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

@alfius
Copy link
Collaborator

alfius commented Jan 12, 2016

@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
Copy link
Contributor Author

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
Copy link
Member

@picandocodigo tenemos algo hecho de esto ya?

Creo que no hay nada hecho no.

@alfius
Copy link
Collaborator

alfius commented Jan 12, 2016

@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
Copy link
Contributor Author

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
Copy link
Contributor Author

@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
Copy link
Collaborator

alfius commented Jan 14, 2016

@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
Copy link
Contributor Author

¡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
Copy link
Collaborator

alfius commented Jan 14, 2016

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

@danielcarranza
Copy link
Contributor Author

Hecho, te cuento cómo me va.

@danielcarranza
Copy link
Contributor Author

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

@alfius
Copy link
Collaborator

alfius commented Jan 15, 2016

@danielcarranza que grande!!! 👏 👏 👏
Gracias! 😄

@alfius
Copy link
Collaborator

alfius commented Jan 27, 2016

@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
Copy link
Contributor Author

¡Perfecto! Mil gracias maestro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants