CodeandoMexico / los-scrapers

Recopilación de web scrapers para mejorar al gobierno (A collection of web-scrapers to extract government data)
12 stars 13 forks source link

INEGI Parser #18

Closed milmazz closed 10 years ago

milmazz commented 10 years ago

Los cambios incluyen lo siguiente:

lalo commented 10 years ago

Sobre la licencia estaria bien ver los pros y cons; otra buena opción es GPL-3 https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3) y también revisen la de MIT https://tldrlegal.com/license/mit-license

milmazz commented 10 years ago

@lalo Sobre la licencia lo podemos conversar, solo que mi recomendación sería no adoptar el esquema GPL, si esperamos introducir nuevos proyectos al conglomerado de los-scrapers hay que tener en cuenta que aunque licencias como BSD/MIT son GPL compatibles, la GPL no permite el uso de código licenciado como GPL en código no-GPL, lo cual puede llegar a ser un problema y lo ha sido en varios proyectos, caso readline por ejemplo.

Al menos en mi opinión, apostaría por esquemas de dominio público, como la MIT o incluso la BSD:

Copyright (c) <year>, <copyright holder> All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

En este caso, la organización sería Codeando México. Tal cual como hacen otras fundaciones como la Django Software Foundation. Si ves también RoR es MIT, así que también existen casos de éxito bajo licencias permisivas.

Otro punto que veo a favor de las licencias permisivas es que si inicialmente seleccionamos BSD por ejemplo, es totalmente válido re-licenciar bajo GPL si lo quieres, pero lo inverso no es posible, es decir, una vez que hiciste un release GPL no hay vuelta atrás, siempre será GPL, al menos esa versión pues no podrás revocar la licencia.

rafaelcr commented 10 years ago

Gracias por este PR! Creo que sólo hay que revisar bien lo de separar el setup de la lógica del scraping en general antes de darle merge.

Acerca de la licencia, tú qué opinas @juanpabloe? Creo que sería bueno definir una que sea consistente con todo el objetivo de este repo (es decir, que otros scrapers también puedan compartirla). Si acaso hay algo más de debate sobre esto, creo que sería buena idea mover por lo pronto LICENSE a otro PR y continuar el thread allá.

milmazz commented 10 years ago

@lalo @juanpabloe Chicos, ¿qué hace falta para cerrar este PR?, se tomaron en consideración todas las observaciones hechas por @rafaelcr, ¿falta algo más?, pregunto para poder continuar con una nueva mejora, la cual apunta a solventar lo planteado en el issue #22

juanpabloe commented 10 years ago

@milmazz gracias! de mi lado solamente me gustaría que el license esté en un PR (y conversación) por separado, pues estamos definiendo esto aún algo que sería general para todos los scrapers que se trabajen

juanpabloe commented 10 years ago

@milmazz buenísimo! @lalo @rafaelcr cómo ven ? sería bueno mergear este PR

lalo commented 10 years ago

Se ve todo bien solo quiero correrlo antes para asegurar que funcione la instalación y los cambios. Excelente y gracias!

lalo commented 10 years ago

Hice una vagrant box con ubuntu para hacer todo el "flow" de instalación desde cero. Me gustaría que el README fuera mas explícito de los requierments pero @milmazz tu no te preocupes de eso.

Hay un problema después de correr "inegi_get_data" los datos se están instalando en

/usr/local/lib/python2.7/dist-packages/inegi-0.2.1-py2.7.egg/inegi/datos/

esto es algo que definitivamente no queremos pero así es como lo diseñaste?

milmazz commented 10 years ago

@lalo Cambiado el comportamiento descrito, ahora es posible indicar incluso otro fichero de configuración (siempre y cuando se respete la estructura) así como también es necesario indicar el directorio destino de los ficheros a descargar desde el INEGI. Mayor detalle en los comentarios asociados a los commits previos.

milmazz commented 10 years ago

@lalo @juanpabloe Chicos, ¿algún comentario respecto a los últimos cambios? :confused:

lalo commented 10 years ago

Si, aun no lo logro correr exitosamente pero no se si tenga que ver con tu pull request o es algún detalle que ya se tenia. Al correr "inegi_nosql --dbwrite prueba2/*" me sale un error de "IOError: [Errno 2] No such file or directory: 'prueba2/aguas_calientes/aguas_calienNotas.tsv'" y el contenido del folder aguas_calientes es de

"prueba2/aguas_calientes$ ls 01_aguascalientes_notas.tsv 01_aguascalientes_notasxvalor.tsv 01_aguascalientes_valor.tsv"

Al parecer hubo un cambio de nombre de los archivos.

@milmazz tu lograste correrlo exitosamente? Solo estoy siguiendo los pasos del README hay algo mas que se tenga que configurar?

milmazz commented 10 years ago

@lalo Esto ya lo indicaba en otro issue en donde decía que el formato entregado ahora por el INEGI cambio. El script inegi_nosql.py espera ficheros que ya no entrega el INEGI y no maneja correctamente la excepción. Ciertamente hay que actualizarlo, ya estaba trabajando en ello pero detuve la labor hasta aprobar este PR y avanzar paso a paso.

lalo commented 10 years ago

Ok perfecto, esos son los siguientes pasos entonces.