El programa Prognos, liberado por Ozkar, viene a llenar un espacio vacío en las barras de estado de los que no tenemos salida al mar, y bien merece una felicitación por ello.
Ahora bien, mirando los requerimientos, me encuentro con que mi Debian 6 no tiene python 2.7, ni otra biblioteca de las necesarias, que no recuerdo ahora. Vaya, me fastidié, fue lo primero que pensé.
Cambiar la distribución, ni pensarlo: esta es la máquina de trabajo, y no puedo ponerme a inventar. Fin de la historia.
Sin embargo, la idea me siguió rondando la cabeza (¿cómo extraer la información de allí?) y me puse a parsear la página de www.insmet.cu.
Entre las partes interesantes está una variable de arreglo, pdia, que al parecer guarda las temperaturas por provincia y una descripción concisa del estado del tiempo en un pronóstico de 5 días. Por ejemplo:
PINAR DEL RIO’,’29 18 Parcialmente Nublado’,’29 18 Parcialmente Nublado’,’29 19 Lluvias Ocasionales’,’28 19 Lluvias Ocasionales’,’28 19 Parcialmente Nublado’.
Por tanto, podría pensar en alguna solución que parseara la página, leyera este dato y luego lo presentara convenientemente en la barra de estado. No soy bueno en programación, así que seguí mirando a ver qué más aparecía, y me encuentro con que los datos de los pronósticos se guardan en ficheros de texto:
- pttn.txt = pronóstico del tiempo para la tarde y noche
- ptrd.txt = pronóstico del tiempo para el resto del día
- Marady.txt = mares adyacentes
- DC.txt = Depresiones y ciclones
etc.
Habituado a que cuando enciendo la máquina se me abran ventanas que he preparado con fortune, las efemérides (una ventana despliega la información del programa Calendar) y el santoral (fichero de Calendar preparado especialmente), se me ocurrió que podría descargar el fichero ptrd.txt, por ejemplo, y mostrarlo por las mañanas al encender el equipo. El tal fichero es muy liviano, y se descarga en nada mediante wget.
Así que en principio sería algo como descargar con wget y luego mostrar el contenido del fichero con alguna aplicación sencilla de ventanas, como xmessage o Zenity. Zenity hubiera sido mi primera elección, pues lo uso en un script para Evolution que me avisa si encontró virus. Pero a Zenity parece que no le gusta el código en UTF-8, así que escogí xmessage. De paso, veo que el texto descargado contiene ^M, así que conviene correrle dos2unix antes de mostrarlo.
Ya en ese plan, se me ocurrió: que me lo lea en voz alta también; así me da tiempo a organizar las cosas mientras la máquina abre sesión y yo estoy mirando papeles y atendiendo a los primeros que me han pescado en la puerta y me están consultando algo. Me leería el parte en voz alta y me abriría después una ventana con el texto para reconsultarlo si lo necesito. Esto se pone interesante…
Sintetizadores de voz hay varios en Debian. Flite, por ejemplo, es muy liviano, pero hasta donde veo, no habla español. Festival o Mbrola parecen tener opciones de buena calidad y en varios idiomas, con posibilidades también de escoger voces masculinas o femeninas. Es curioso: no veo voz femenina española en Festival; hubiera sido un toque agradable aquí. Pero me piden descargar cosas de Internet, así que están descartados. Por otra parte, si tuviera acceso, quizá no estuviera haciendo estas piruetas.
Me queda espeak. La voz es aceptablemente clara, y puedo usar la biblioteca es-la, que maneja español latinoamericano (aceptable).
Bien, armando el muñeco esto queda más o menos así.
#!/bin/sh #leeparte.sh rm -f $1 #/Pronostico/pttn.txt #/Pronostico/Ptm.txt #/Pronostico/Aviso/DC.txt #/Pronostico/Marady.txt #/Pronostico/ptrd.txt wget http://www.insmet.cu/Pronostico/$1 dos2unix $1 espeak -f $1 -v es-la xmessage -center -buttons OK -file "$1"
Dejo indicados los caminos de los distintos ficheros.
Lo invocamos así:
./leeparte.sh ptrd.txt
Estoy seguro de que si Lázaro me coge, escribe algo en Ruby que lo hace todo con una sola línea… 😉
Habiendo comprobado que funciona, busco en mi XFCE dónde le pongo que esto se ejecute al iniciar sesión.
Voy al botón XFCE, busco configuración, Sesión e inicio, Autoarranque de aplicaciones/Añadir. Entro la información, y listo.
Espero que les sirva de algo.
Gracias por la referencia colega! Excelente solución out-of-the-box!
Mr. Garcel, yo pensé que con el lanzamiento de Fedora 21 en el día de hoy… a estas horas usted estaría en total estado de embriagues
Estoy traduciendo/redactando el articulo ahora.
Se te fueron delante:
http://arkanum.cubava.cu/2014/12/09/fedora-21-ya-esta-aqui/
🙁
En el sidebar de SWL-X hay un logo apuntando a la noticia original, tal vez publico algo al respecto sobre Fedora XXI 😀
Na, mientras más bulla se haga mejor.
¿Más bulla para usar la distro de RedHat? Estamos locos.. locos 😛
Ernesto, mira que eres envidrioso 😛
JAJAJA!!
OFFTOPIC: @envidrioso antisystemd, estoy por la capital a inicios de año. ¿¿¿¿A quien tengo que fusilar p’a conseguir los repos de KaOS???? Mas otro temita que voy a necesitar hablar quien sabe si contigo o con el arenoso, o con ambos
bueno, se puede hacer algo con eso, estudiare eso a ver
Muy interesante…
Es muy común este problema de copiar un software y no tener lo necesario instalado. Por ello una vez puse un comentario donde decía que en nuestro querido GNU/Linux hace falta un estándar gráfico que se sepa que ya viene con cualquier distribución y así evitamos este problema de dependencias en gran medida además de que las aplicaciones ganan en calidad puesto que los desarrolladores se concentran más en su producto en vez de preocuparse si su programa funcionará o no en otros lugares como me ha pasado, pensando sobre esto me vino a la mente QT pero este necesita ser instalado también, luego y actualmente estudiando sobre ello estoy trasteando con GTK, el cual se acerca más a la idea puesto que en cualquier lado está gtk instalado, incluso en KDE, LXDE,XFCE….
O sea, que si hago un programa en GTK este de seguro funcionará con solo copiar el ejecutable. Gtkmm es un frontend para C++ pero no estoy seguro que esté instalado en la mayoría de sistemas Linux. Debe ser por eso que muchos desarrolladores prefieren Gtk+ que QT y otros toolkits o frameworks, porque quieren facilitarle la vida a los usuarios finales que muchas veces no tienen internet o no conocen el concepto de repo. Al parecer systemd facilita la tarea a los desarrolladores en este sentido, según vi en algún lugar de internet que decían que podría incluir un apartado gráfico(no hablo de X11) de manera que al hacer una app systemd se comporta como un framework estándar. Lo mismo hacen otros sistemas como Android, Mac y Windows, en este último está la API de windows que siempre ha existido, de manera que si cojo una app del 98 me funcionará en Win7(Ejemplo COC). En el caso de Android ya existen en todos los móviles unas librerías que lo unico que se necesita instalar es un apk que solo contiene el ejecutable y los datos del programa, por eso la calidad de estas apps es muy grande, por que los programadores no necesitan meter las librerías y concentrarse en cómo distribuirlas. Espero que dentro de poco en el ámbito de GNU/linux se estabilice esta parte, estoy seguro que ayudará a todos y nos facilitará la vida.
Ozkar:
Por favor, envía a mi cuenta la última versión de tu app con los datos que incluimos en REPOGUTL para ponerla en el repositorio; y tu Lázaro, empínate y crea un script en Ruby o en lo que mejor te plazca para incluir también la solución de nuestro cofrade Alberto en el mismo lugar.
Un saludo cordial y agradezco de antemano la contribución de todos a REPOGUTL.
En esta semana le envió la próxima versión.
bueno, voy a hacer una entrada con mi experiencia y mis enjendros DIGO! scripts; en el ámbito meteorológico, http://gutl.jovenclub.cu/otra-idea-para-conocer-el-estado-del-tiempo. Quizás le sirva a Ozkar como retroalimentación y algunas ideas le permitan potenciar su programa.
Pues no lo demoro más.. jeje.