martes, 2 de noviembre de 2010

Weather Tkinter

Algún día tenía que pasar. Tenía que dejar de programar aplicaciones en consola y empezar a hacer interfaces gráficas para los usuarios (GUI's). Y como algunos lectores y amigos saben, me decanté por estudiar Python, pues tiene módulos como el que he usado para crear mi primera aplicación: Tkinter. Sobre la aplicación, llamada Weather Tkinter, decir que es un simple Script bajo Python 2.6.6, el cual usa el API de Google Weather para imprimir en un textBox el tiempo del lugar que selecciones. Llevo poco tiempo como Python (Apenas 3 o 4 días) así que, como imagináis, no es gran cosa, por eso, estoy a la espera de que alguien quiera colaborar con el programa para poder mejorarlo, y, de paso, yo aprender.

Capturas:

Weather Tkinter 0.1




Weather Tkinter 0.1 Beta
Weather Tkinter 0.1.1


Requerimientos:

El programa consume pocos recursos, así que con menos de 1 mega de espacio en disco podemos alojarlo. Para poder obtener el tiempo actual, necesitamos estar conectados a Internet. Para la interfaz, necesitamos: TKinter (Y Python, evidentemente). Es portable, lo puedes usar en GNU/Linux, Windows y Mac Os.
¿Qué versión escoger?

Las versiones Beta son versiones en pruebas. Las estables, no llevan Beta en su nombre. Recomiendo descargar siempre la versión mas actual, pues será la mas funcional de todas.

¿Cómo usarlo en GNU/Linux?

Una vez descargado, desde el terminal nos movemos a la ruta donde tengamos el archivo y le damos permisos de ejecución (chmod +x weatherx.x.x). Seguidamente lo ejecutamos (./weather.x.x.x).

¿Qué licencia tiene el programa?

Está liberado bajo licencia GNU GPL, por lo tanto, tienes...

...La libertad de usar el programa, con cualquier propósito.

...La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.

...La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.

...La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.


¿Puedes colaborar?

Por supuesto. Ponte en contacto conmigo, para lo que sea. Añadir/Quitar/Mejorar código, solucionar errores, sugerencias, etc. En la barra lateral tienes las formas de contacto. Y si te apetece crear tu propia versión del programa a partir del mío, aprovecha y disfruta: GPL te lo permite :)



Para ejecutar el programa, tanto en Windows como en GNU/Linux u otros sistemas, necesitamos tener instalado Python 2.6 (Página aquí). Por ahora no he creado ningún archivo ejecutable para Windows, si alguien lo quiere hacer, a ser posible, que me envíe el enlace para colgarlo.

Acceso al los archivos en SourceForge
https://sourceforge.net/projects/weathertkinter/files/

Acceso a los archivos en la Forja de Molinux
https://forja.molinux.info/projects/weather-tkinter/


Para sugerir mejoras, reportar errores, etc, poneros en contacto conmigo personalmente (En la barra de la derecha del blog, tenéis los métodos de contacto) o dejad un comentario en esta entrada.


Historial

2-nov-2010 ver 0.1 -> Primera versión del programa. (Code)

5-nov-2010 ver 0.1 Beta -> Corregido formato XML (Code)

12-nov-2010 ver 0.1.1 Beta:
-> Mejoras en el diseño
-> Añadido historial de eventos en consola
-> Añadida función Imprimir a Archivo
... (Code)

15-nov-2010 ver 0.1.2:
-> Añadido control de excepciones
... (Code)

...

14 comentarios:

  1. como no se python no puedo ayudar mucho, pero si consiguieras hacer un frame html con lo que mostraria el navegador estaría muy bien. Será muy complicado?

    ResponderEliminar
  2. Cada vez aprendes mas, a este paso me superas XD

    ResponderEliminar
  3. Si, estoy trabajando ya en la sig. versión, que te muestre los datos sin xml y algunos cambios mas xD

    ResponderEliminar
  4. Puedes hacer lo que te dije, un for in para leer el dato de entrada, y cuando encuentre, por ejemplo: <city data= lo envía a un proceso para sacar la información.
    Lo bueno de esto, es que también podrías hacer botones para elegir solo uno, por ejemplo humedad, o temperatura ;)

    ResponderEliminar
  5. Si, ya estoy trabajando en el método para mejorar el formato en el textBox, y una sorpresita mas en el diseño. Próximamente, Versión 0.2 XD

    ResponderEliminar
  6. Vale, ya consigo imprimir el texto bien, solo me falta un pequeño detalle gráfico para colgar la 0.2 XD

    ResponderEliminar
  7. Leere el programa con detenimiento para ver como trabajas con los XML ;)
    Y lo compilaré para Windows, lo haré con instalador ok? porque sino son muchos archivos, y es un coñazo ;)

    ResponderEliminar
  8. Serch, aqui tienes el compilado para Windows, que mono me ha quedado ^^ jajajajajajaja

    http://www.megaupload.com/?d=S8S63JRJ

    ResponderEliminar
  9. Pues el XML lo reduzco utilizando el método split, dividiendo cada cadena en 3 cachos, básicamente.

    ResponderEliminar
  10. Y gracias por el ejecutable XD cuando termine la V. 0.2 te lo vuelvo a pedir, que estará mucho mejor jajaja.

    ResponderEliminar
  11. Cada vez te queda mejor, algo que no se pueda decir de mi proyecto, que cada vez me lió mas XD

    ResponderEliminar
  12. Está claro que lo mío es mucho mas sencillo jajajaj

    ResponderEliminar
  13. me gustaría colaborar, para hacerlo ejecutable en windows necesitas el py2exe

    ResponderEliminar