Weather_es es el nuevo módulo de Drupal que permite ver en tu blog la predicción del tiempo de una o varias localidades españolas de las 8112 que ofrece el AEMET.
Esto significa que con este módulo de Drupal puedes ver la predicción meteorológica de casi cualquier localidad de España.
La idea surguió tras visitar la una web institucional en la que aparecía el tiempo de la localidad. Los datos ofrecidos no eran muy... ¿por qué? pues porque esos datos están sacados de los datos que ofrecen los aeropuertos. ¿Qué pasa si vives a 100Km de él? Ahí entra en juego la página web del AEMET que por una parte nos ofrece la información de una población en concreto, de las 8112 disponibles, y por otra nos ofrece una predicción a 7 días vista, que verdaderamente es lo que parece más interesante.
Puesto que esta información es gratuita y puede utilizarse siempre y cuando se cite a la agencia como autora de estos datos (visita su página para más información) realizé una aplicación que capturara la información de su web, citando la autoría de los mismos, y mostrándolos en tu blog mediante este módulo.
Agradecimientos:
Podrás bajarte el módulo weather_es desde la página de Drupal.
Si quieres estar a la última visita el Git Drupal de Weather_es.
Como se indica en la página del proyecto en Drupal, el módulo no está preparado para trabajar en sitios multilenguaje. Esto está en la lista del TODO.
Comments
Iconos del tiempo
Desde http://kutxa.homeunix.org/ me han dado permiso para utilizar sus iconos, solarized y publicarlos bajo la misma licencia que tiene Drupal (paso imprescindible para colgar cualquier cosa en ese proyecto).
Nos vemos.
Resultado de la encuesta sobre la guerra sucia
El resultado final a la pregunta ¿Crees que el AEMET está realizando una guerra sucia contra Weather_es? ha sido:
El ratón y el gato
Al AEMET le gusta jugar al ratón y al gato con Weather_es. Hace unos días me encontré con que la información meteorológica de Sant Joan d'Alacant aparecía toda a 0... bueno, puede ser, el servidor del AEMET falla bastante, al final, con las horas correspondientes todo vuelve a la normalidad. Pero hoy estaba igual ¿¿?? son malos, pero tanto no. Después de 2 minutos viendo que han hecho ahora, me encuentro con que han cambiado ciertas URLs. Por ejemplo, Alacant/Alicante ha pasado de:
http://www.aemet.es/es/eltiempo/prediccion/localidades/alicante-alacant-...
a
http://www.aemet.es/es/eltiempo/prediccion/localidades/alacant-alicante-...
He pensado "bueno, no pasa nada, habrán puesto cambiado y ahora los nombres locales van antes que en castellano ¡¡Pues no!! Sólo lo han hecho con algunas ciudades. Esto es: No hay un criterio.
¿Que podemos hacer? Pues como bien ha sufrido Pablo, por motivos personales no voy a tener tiempo durante unos meses (no quiero decir que no, pero no puedo decir que sí). La solución que realizaré es que el usuario pueda cambiar la base de datos para cambiar la forma en la que se hace referencia a las localidades. Esto es, antes Alicante/Alacant, ahora Alacant/Alicante (incluso algunas ha desaparecido la denominación en castellano ¿¿??).
Soluciones inmeditas:
Ni que decir tiene, que la opción de modificar el módulo para permitir el cambio de la base de datos por parte del usuario es la mejor con diferencia... pero no puedo dar un plazo para tenerlo listo...
Más cambios
Pues ahora las tablas en inglés y euskera son diferentes, a como estaban todas antes y a las demás ahora, esto es: catalán, castellano, francés y gallego.
Vuelta a empezar
Como se puede observar, el enlace de Sant Joan d'Alacant ha vuelto a cambiar (a su forma antigua). Está claro que no interesan módulos como Weather_es.
Modificar visibilidad modulo wheather_es
Buenas tardes Bull.
Que parte del codigo tengo que modificar para que las paginas (1,2,3,4) se vean como las tuyas sin lo de primero, anterior, siguiente y ultimo?
Se puede hacer que te muestre los siete dias en un unico bloque?
Un saludo.
Visibilidad
Hola,
Pues ahora mismo no puedo ayudarte con el primer punto. Llevo 3 semanas (y lo que me queda) fuera de casa. Es un cambio que hice para eliminar el pager de Drupal y aún no lo he publicado porque no está acabado... Tal vez el domingo pueda publicar en esta web el código, aunque vuelvo a repetir que no está acabado.
Sobre el segundo punto, te diré que puedes modificar el fichero weather_es.module. Busca la palabra 'pager' y cambia la query eliminando el pager (sería algo como $result = query(db_rewrite_sql($sql), "SELECT COUNT(cod_loc) FROM {weather_es_data} WHERE cod_pro = %d AND cod_loc = %d", $usrcnf->cod_pro, $usrcnf->cod_loc, $usrcnf->cod_pro, $usrcnf->cod_loc);
). También has de eliminar $content .= theme('pager', NULL, NULL);
Hablo de memoria... espero haber podido ayudarte en algo ;-P
Muchas gracias
Muchas gracias Bull.
En la linea de la consulta me da error si quito lo cambio 'pager_query' por 'query' y elimino los valores 2, 0, de la consulta, pero viendo que dicha funcion es paginar en funcion del numero que le pasas, lo he cambiado y puesto a 7 y asi funciona.
Al final la linea queda tal que asi, $result = pager_query(db_rewrite_sql($sql), 7, 0, "SELECT COUNT(cod_loc) FROM {weather_es_data} WHERE cod_pro = %d AND cod_loc = %d", $usrcnf->cod_pro, $usrcnf->cod_loc, $usrcnf->cod_pro, $usrcnf->cod_loc);
Tambien he eliminado el $content .= theme('pager', NULL, NULL);
En un principio lo de cambiar la apariencia de la paginacion ya no lo necesito con esta solucion, pero seria interesante ver como hacerlo.
Un saludo.
Reescribir el SQL
Hola, si así te vale ok, pero creo que sería más correcto harcerlo así:$result = db_query(db_rewrite_sql($sql), "SELECT COUNT(cod_loc) FROM {weather_es_data} WHERE cod_pro = %d AND cod_loc = %d", $usrcnf->cod_pro, $usrcnf->cod_loc, $usrcnf->cod_pro, $usrcnf->cod_loc); De todas formas puedes consultar la API de Drupal
Como ves no he publicado los cambios de mi módulo... pero es que no estoy en casa.
Imagenes
Buenas Bull.
Tengo un problema con la ruta de las imagenes, al utilizar urls limpias, las rutas de las imagenes no me las encuentra, si la ruta es http://dominio/ruta1 las imagenes se ven bien, pero si la ruta es http://dominio/ruta1/ruta2, las imagenes no las muestra y la ruta a las imagenes es asi http://dominio/ruta1/ruta-de-imagenes.
Porque puede ser?
Volvi a probar con el codigo que me pusiste y sigue sin funcionarme.
Un saludo.
Solucionado Imágenes
Buenas Bull.
Ya solucione el problema, no se si sera para todos igual o es cosa de mi servidor, pero te lo comento por si te sirve.
La linea de codigo que carga la imagen en el source necesite ponerle una / para hacer la ruta absoluta, quedaria tal que asi.
print '
';
Un saludo.
No se ve bien el codigo
Buenas Bulk.
En el mensaje anterior no se ve bien el codigo que puse.
Lo puedes mirar, es por si le sirve a alguien.
Debería de ser así, a ver si ahora sale.
print '<li>'. $usrcnf->sky.' '. $data->ampm .' : sky_img1 .'.png" title="'. $data->sky_txt1 .'" alt="'. $data->sky_txt1 .'" width="64" height="64" /></li>';Habría que hacerlo en las dos imagenes.
Un saludo.
Ruta de imagen
Buenas Bull.
Tengo otro problema con las imagenes, si la ruta de la dirección es http://dominio/algo, la imagen sale bien, pero si es http://dominio/algo/mas la imagen no sale, porque la va a buscar a http://dominio/algo/ruta-de-imagens-del-modulo.
Como podría hacer para cambiar que fuera a buscar a http://dominio/ruta-de-imagens-del-modulo, independientemente de la ruta del nodo que se está viendo?
Un saludo.
imagen
Hola,
Tendrás que jugar con el ficherito weather_es.tpl.php (busca img) No lo he probado nunca pero creo que no será complicado.
Nuevas mejoras en el AEMET
Con increíble asombro veo que desde este mes, la AEMET da la posibilidad ya no sólo de facilitar la difusión de su trabajo a los ciudadanos -desarrolladores- mediante ¡¡por fin!! un fichero XML, sino que para aquellos que no desean complicarse la vida, existe un applet para poder ver el tiempo en sus blogs/páginas personales. Esto podría hacer parecer la no necesidad del módulo Weather_es, pero no es así sólo por una salvedad: el theming. Su aplicación está bien, pero no se puede temear como Weather_es. Por eso voy a seguir manteniendo el módulo.
Por cierto, este cambio radical implica que tengo que rehacer todo el parser (¡¡ahora con mucha más información y una diferente estructura, pero mucho más sencillo!!).
Ahh, tampoco voy utilizar esta vez DOM... voy a hacerlo a pelo porque no todas las instalaciones de PHP lo tienen.
Una muestra de la nueva información aportada y su nuevo formato.
Portar para D7
Hola Bull,
Inicialmente quisiera darte gracias por tu excelente trabajo.
En seguida, una pregunta: ¿cuándo vamos a tener el módulo listo para D7?
Mientras tanto, ¿qué puedo hacer para empezar a usarlo en mi website?
De antemano muchas gracias.
Retraso en el desarrollo
Hola harodl2,
Pues como puedes ver el desarrollo de Weather_es está muy retrasado. Esto es debido a quehaceres personales ineludibles... El primer paso, que casi seguro realizaré la semana que viene, es reescribir Weather_es para la versión 6.x y hacerlo funcionar. Tras eso vendrá la versión 7.x, pero no puedo darte un plazo a ciencia cierta... aunque ponle de 1 a dos meses. Eso sí, te aseguro que tendremos todos una versión funcional para D7.
Muchas gracias por dejar un comentario.
Empezar
A partir de la semana 2 de este año empezaré el desarrollo de la nueva versión 6.x
¡¡Ya tengo algo!!
Como se puede ver ya tengo algo del módulo (para D6, aunque el cambio a D7 será muy rápido una vez funcione bien en D6) hecho, me faltan todavía muchas cosas por hacer pero es un primer paso importante. No lo voy a subir a desarrollo por el momento...
Un poco abandonado...
Sí... mi proyecto Weather_es lo tengo un poco abandonado... me falta acabar el paginador AJAX, un pequeño selector y portarlo a D7, pero es que llevo un més aprendiendo a programar la NDS y me he puesto también con Qt -la versión 5 tiene pinta de ser impresionante, sólo hay que ver qué cosas se hacen con la Raspberry-pi- Cosas muyyyyy tentadoras, la carne es débil.
A ver si me hago del anímo y avanzo algo jjjejejeje
Nueva versión funcionando
Como se puede ver ya tengo el módulo subido y funcionando. Ahora, además es un 99% más pequeño XDDD.
Las prioridades ahora son:
La D7 no funciona
Aunque parezca mentira, la versión D7 de Weather_es no funciona, hay gente que la está usando ¿¿cómo?? y nadie dice ni mu.
Lo que ha pasado es que subí la versión 6 como la 7.
Acabo de subir la versión dev. Una vez me cerciore que es está todo correcto subiré la versión para producción.
Importante para gente con versiones anteriores a 6.x-3.2
Por varios motivos que no voy a explicar ahora, las versiones anteriores a la 6.x-3.2 no son compatibles con ésta y posteriores.
Esto quiere decir que para instalar versiones del módulo >= 6.x-3.2 hay primero que desinstalar el módulo y volverlo a instalar.
Como es lógico, esto provoca la pérdida de los datos almacenadas: esto es las ciudades de las que se quería la información meteorológica -y su info asociada-.
Por tanto, si ese es tu caso deberás apuntar qué ciudades eran las que tenías mostrando información y volver a seleccionarlas tras la instalación del módulo.
Versión 7.x-dev
Ya tengo la versión para D7, ¡¡yupiiii!!! la subiré esta tarde después de comer.
Además, como se puede apreciar, he cambiado las imágenes del tiempo jjejjeje
Hola:
Hola:
Estoy haciendo pruebas con módulos del tiempo de drupal. He probado con weather_es que conecta con AEMET pero al seleccionar la provincia Madrid, municipio Madrid y las opciones que aparecen por defecto y pulsar aceptar me sale el siguiente error, del que no encuentro referencias en la internet. ¿Puedes ayudarme? Gracias.
Warning: DOMDocument::load() [domdocument.load]: URL file-access is disabled in the server configuration en weather_es_Aemet->__construct() (línea 20 de /homepages/26/d436726094/htdocs/mastv/sites/all/modules/weather_es/weather_es.inc).
Warning: DOMDocument::load(http://www.aemet.es/xml/municipios/localidad_28079.xml) [domdocument.load]: failed to open stream: no suitable wrapper could be found en weather_es_Aemet->__construct() (línea 20 de /homepages/26/d436726094/htdocs/mastv/sites/all/modules/weather_es/weather_es.inc).
Warning: DOMDocument::load() [domdocument.load]: I/O warning : failed to load external entity "http://www.aemet.es/xml/municipios/localidad_28079.xml" en weather_es_Aemet->__construct() (línea 20 de /homepages/26/d436726094/htdocs/mastv/sites/all/modules/weather_es/weather_es.inc).
Problema
Hola Nicolas,
Pues la web del AEMET falla muchas veces y tal vez esa era una de ellas. Si tu sitio ya hubiera tenido datos sobre Madrid no se habría quejado, pero claro, no los habría actualizado. Como puedes ver, he hecho exactamente lo que indicas y como puedes comprobar funciona ok. La verdad es que no tengo claro si es algo capado de tu servidor o como he dicho anteriormente es un fallo temporal en la web del AEMET. Te recomiendo que pruebes otra vez o que cambies de ciudad y ver qué pasa. Después según lo que pase ya puedes sacar conclusiones.
Nuevas funcionalidades en Weather_es
Pues acabo de subir unas mejoras a drupal.org
He añadido algunos test -aquí hay un montón de curro para hacer-, la posibilidad de cambiar el tipo de info de cada ciudad, subsanado un error en un hook y ahora weather_es es parte de los web services. Supongo que tardará unos dos días en aparecer la versión dev.
De momento ya he visto una mejora a tener en cuenta: si la página del Aemet falla me borra el nombre de la ciudad ... esto de desarrollar cosas que necesitan conexión a Internet sin tenerla...¡¡es un rollo!!
Bueno, para eso son las versiones dev, ¿no? jajja
Solucionados problemas de la
Solucionados problemas de la versión dev. Lo acabo de subir... tardará unos días. Después volveré a verificar y subiré la versión estable -creo que 7.x-1.2-