Las fechas y el plugin localization_simplified

En estos días he estado convirtiendo en aplicación rails un pequeño script en ruby que tenía para mirar el boe todas las mañanas y buscar ayudas y subvenciones.

Al hacer la aplicación rails, instalé el plugin l10n_simplified. Como en el plugin se redefinen cosas como los mensajes de error, el formato de las fechas y demás, yo me lancé a ponerlo un poco más a mi gusto y en esas modifiqué el formato de fecha default, para ponerlo en el orden habitual por estos lares, que es dia-mes-año, sin darme cuenta que con eso la estaba liando.

En la aplicación tengo algo como:

fecha = Date.today
...
# leer la pagina del boe de hoy y buscar las entradas que contengan 'ayuda' o 'subvención'
...
Entrada.create(:fecha => fecha, :numero_boe => numero, :texto => texto, :enlace => enlace, :seccion => seccion, :subseccion => subseccion)

Eso que en princpio tendría que funcionar sin problema, mezclado con mi modificación del l10n_simplified hace un estropicio. Lo malo es que no salta ningún error, simplemente se generan fechas no válidas, del tipo 0000-00-00, con lo que te encuentras con una base de datos llena de datos inválidos.

El problema se debe a que al hacer una asignación de la fecha así, se usa el método to_s del objeto Date y como el plugin lo modifica pues se generan cadenas no válidas. Si se hace la asiganción de las fechas con los datos procedentes de un formulario que rellena el usuario no hay problema.

Después de estar un buen rato googleando y volviendome loca, he desintalado el plugin, porque en realidad no lo estaba usando en esta aplicación, y todo va como la seda, ya no tengo un montón de entradas perdidas en el tiempo :)

Podeis ver el resultado en http://buscaboe.dabne.net.

Hierarchy: previous, next

Comments

There are 3 comments on this post. Post yours →

Estaria interesante algún comentario más de como ha desarrollado ese peazo de script. scRUBYt! ?

Un saludo

Es un script más sencillo de lo que parece, la verdad. No uso scRUBYt porque cuando empezé con el script todavía no había conseguido que me funcionasen ni scRUBYt ni Hpricot, y al final la búsqueda inicial en la página del sumario del BOE la hice con una expresión regular a base de prueba y error. La página la leía con open-uri.

Ya en la versión con Rails uso Hpricot para leer la página html correspondiente al enlace que sale en el sumario y sacar de ahí los títulos de sección.

Qué idea más buena! Mira, al fin una utilidad para esto del scraping y no tanto arañear por arañear ... :D

Post a comment

Required fields in bold.






Markdown syntax enabled (no html). See the syntax rules for help.