<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Ubunlog</title>
	
	<link>http://ubunlog.wordpress.com</link>
	<description>Un blog más de un usuario de Gnu/Linux y Ubuntu</description>
	<pubDate>Tue, 24 Jun 2008 22:33:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>es</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Ubunlog" type="application/rss+xml" /><item>
		<title>TuxInfo Nº7</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/319242340/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/24/tuxinfo-n%c2%ba7/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 22:11:13 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[TuxInfo]]></category>

		<category><![CDATA[Revistas]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=223</guid>
		<description><![CDATA[Un nuevo número de esta revista ha sido liberado

Contenido de la revista

SECCION DISTROS - Puppy Linux 4.0 “Dingo” Un cachorro linuxero
Entrevista exclusiva al ex CEO de Mandrake-Mandriva Gaël Duval
LABORATORIOS - Migrando la oficina de la mano de OpenOffice.org, Parte 2 (Comenzando de la Mano de Writer y Math)
LABORATORIO - Clonando Discos con Clonezilla.
SEGURIDAD - Golpeando [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Un nuevo número de esta revista ha sido liberado</p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/60ce1c278275468d96ebab016eb73eb0.jpg"><img class="alignnone size-full wp-image-224" src="http://ubunlog.files.wordpress.com/2008/06/60ce1c278275468d96ebab016eb73eb0.jpg?w=362&h=512" alt="" width="362" height="512" /></a></p>
<p><strong>Contenido de la revista</strong></p>
<ul>
<li>SECCION DISTROS - Puppy Linux 4.0 “Dingo” Un cachorro linuxero</li>
<li>Entrevista exclusiva al ex CEO de Mandrake-Mandriva Gaël Duval</li>
<li>LABORATORIOS - Migrando la oficina de la mano de OpenOffice.org, Parte 2 (Comenzando de la Mano de Writer y Math)</li>
<li>LABORATORIO - Clonando Discos con Clonezilla.</li>
<li>SEGURIDAD - Golpeando Las puertas del infierno (o del cielo) Introducción simple al Port Knocking</li>
<li>SERVIDORES - ¿Qué es IPCop?</li>
<li>TAPA - Analizando a fondo Mandriva 2008.1 (Mandriva 2008 Spring)</li>
<li>PROGRAMACION - Gambas en una clase!</li>
<li>LABOXPRESS - Distribuciones Linux Live CD</li>
<li><em>102 PAGINAS A PURO COLOR E INFORMACION…</em></li>
</ul>
<p><em><strong><a href="http://infosertec.loquefaltaba.com/tuxinfo7alta.pdf" target="_blank">Descarga de alta  53.9 MB</a> </strong> </em></p>
<p><em><strong><a href="http://infosertec.loquefaltaba.com/tuxinfo7baja.pdf">Descarga de baja  16.4 MB</a> </strong> </em></p>
<p><a href="http://infosertec.loquefaltaba.com/" target="_blank"><strong><em>DESCARGA DE NUMEROS ANTERIORES</em></strong></a></p>
<p>Fuente:<a href="http://www.tuxinfo.com.ar/tuxinfo/?p=66" target="_blank">TuxInfo</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/223/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/223/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=223&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/24/tuxinfo-n%c2%ba7/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/60ce1c278275468d96ebab016eb73eb0.jpg" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/24/tuxinfo-n%c2%ba7/</feedburner:origLink></item>
		<item>
		<title>Probando OpenSuse 11.0</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/317111890/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/21/probando-opensuse-110/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 22:43:19 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Distribuciones]]></category>

		<category><![CDATA[Gnome]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[OpenSuse 11.0]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=221</guid>
		<description><![CDATA[
Como muchos sabrán hace unos días ha sido lanzada la versión final de OpenSuse 11.0, en estos momentos estoy terminando de bajar el torrent de la versión en cd, me decidí por Gnome como entorno de escritorio, ya que es un entorno que conozco de Ubuntu, ya que vamos a usar una distro diferente, no [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone" src="http://files.opensuse.org/opensuse/en/thumb/1/16/11banner.png/800px-11banner.png" alt="" /></p>
<p>Como muchos sabrán hace unos días ha sido lanzada la <a href="http://" target="_blank">versión final de OpenSuse 11.0</a>, en estos momentos estoy terminando de bajar el torrent de la versión en cd, me decidí por Gnome como entorno de escritorio, ya que es un entorno que conozco de Ubuntu, ya que vamos a usar una distro diferente, no quise hacer tan drástico el cambio saltando también a Kde 4.</p>
<p>Así las cosas, probaremos unos días OpenSuse 11.0 y despues les cuento, si este blog pasará a llamarse OpenSuseBlog <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/221/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/221/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/221/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=221&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/21/probando-opensuse-110/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://files.opensuse.org/opensuse/en/thumb/1/16/11banner.png/800px-11banner.png" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/21/probando-opensuse-110/</feedburner:origLink></item>
		<item>
		<title>Conky, Mi configuración</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/316453554/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/20/conky-mi-configuracion/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 20:34:29 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Conky]]></category>

		<category><![CDATA[Escritorios]]></category>

		<category><![CDATA[Hardy]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Gnome]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=219</guid>
		<description><![CDATA[Fecfactor me pedía ayer que publicara la configuración de el conky que muestro en esta entrada, publico otra vez la captura.

Como pueden ver se trata de 3 conkys, que son ejecutados mediante un script, la configuración del mismo esta basada en este post que publicó el usuario Bruce M. en los foros de Ubuntu-Ar con [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Fecfactor me pedía ayer que publicara la configuración de el conky que muestro en <a href="http://ubunlog.wordpress.com/2008/06/02/mi-escritorio-junio/" target="_blank">esta</a> entrada, publico otra vez la captura.</p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/pantallazo.png"><img class="alignnone size-medium wp-image-181" src="http://ubunlog.files.wordpress.com/2008/06/pantallazo.png?w=300&h=225" alt="" width="300" height="225" /></a></p>
<p>Como pueden ver se trata de 3 conkys, que son ejecutados mediante un script, la configuración del mismo esta basada en <a href="http://ubuntuforums.org/showthread.php?t=809615&amp;highlight=conky" target="_blank">este post </a>que publicó el usuario Bruce M. en los foros de <a href="http://ubuntu-ar.org/" target="_blank">Ubuntu-Ar </a>con algunas modificaciones en el conky de el correo, que en mi caso es para Gmail.</p>
<p>En el post de referencia está muy bien explicado por Bruce, pero también como ayuda memoria para mí, voy a copiar los pasos a seguir y el codigo de mis conkys para quien quiera lo tenga.</p>
<p><span id="more-219"></span></p>
<p>Bien, necesitamos por supuesto tener instalado conky, curl y python asi que tipeamos en una consola:</p>
<blockquote><p>sudo apt-get install conky curl python</p></blockquote>
<p>La fuente de weather.ttf y de arrows.ttf <a href="http://ubuntuforums.org/showthread.php?t=760527" target="_blank">está aquí</a>. La fuente de moon.ttf <a href="http://www.dafont.com/moon-phases.font" target="_blank">está aquí</a> una vez bajadas hay que copiarlas a /usr/share/fonts</p>
<p>Vamos a crear ahora nuestro script llamado ~./startconky</p>
<blockquote><p>gksudo gedit ~/.startconky</p></blockquote>
<p>dentro del archivo vacio pegamos lo siguiente</p>
<blockquote><p>#!/bin/bash<br />
sleep 0 &amp; # 0 good for Xfce - use 20 to 30 for Gnome<br />
conky -c ~/Conky/conkymain &amp;<br />
#sleep 0 &amp; # 0 good for Xfce - use 1 for Gnome<br />
conky -c ~/Conky/conkyforecast &amp;<br />
#sleep 0 &amp; # 0 good for Xfce - use 1 for Gnome<br />
conky -c ~/Conky/conkymail &amp;</p></blockquote>
<p>Ahora creamos el archivo conkymain en la carpeta ~/Conky sino tenemos la carpeta Conky habrá que crearla.</p>
<blockquote><p>gedit ~/Conky/conkymain</p></blockquote>
<p>yo uso la fuente Calibri, si no la tenés reemplazala por la que quieras.</p>
<p>Pegamos dentro lo que sigue</p>
<blockquote><p>background no<br />
own_window yes<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
own_window_colour black<br />
double_buffer yes<br />
use_spacer left<br />
use_xft    yes<br />
font calibri:size=9<br />
xftfont calibri:size=9<br />
xftalpha 0.5<br />
update_interval 5.0<br />
uppercase no  # set to yes if you want all text to be in uppercase<br />
stippled_borders 3<br />
border_margin 9<br />
border_width 10<br />
default_color white<br />
default_outline_color black<br />
default_shade_color black<br />
color0 cyan<br />
color1 lightblue<br />
color2 orange<br />
color3 yellow<br />
color4 wheat<br />
color5 white<br />
color6 white<br />
color7 white<br />
color8 white<br />
color9 white<br />
alignment top_right  # or top_left, bottom_left, bottom_right<br />
gap_x 10<br />
gap_y 35<br />
text_buffer_size 128 # use 1024 for the forecast<br />
no_buffers yes  # Subtract file system buffers from used memory?<br />
draw_borders no<br />
draw_outline yes  # amplifies text if yes<br />
draw_shades yes  # shadecolor black</p>
<p>TEXT<br />
${font calibri:size=12}${alignc}${color1}$sysname $kernel on $machine}$color$font<br />
${font calibri:size=12}${alignc}${color2}${exec whoami} @ $nodename$color$font<br />
${color0}${hr 1}$color<br />
${font calibri:size=20}${alignc}${time %H:%M}$font<br />
${font calibri:size=12}${color1}${alignc}${time %A, %d %b. %Y}$color$font<br />
${color3}UpTime:${alignr 2}$uptime$color<br />
${color0}${hr 1}$color<br />
${voffset 5}${color2}CPU:${alignc}$color$running_processes ${color1} /$color $processes${alignr 2}${color2}${cpubar cpu0 14,80}$color<br />
${color1}${voffset -16}${alignr 5}$cpu%$color<br />
${voffset 2}${color1}Load Avg (${color3}Min${color1}):${alignr 2}${color3}1: $color${loadavg 1}   ${color3}5: $color${loadavg 2}   ${color3}15: $color${loadavg 3}<br />
${voffset 5}${color2}RAM:$color $mem ${color2} /$color$memmax${alignr 2}${color2}${membar 14,80}$color<br />
${color1}${voffset -16}${alignr 5}$memperc%$color<br />
${voffset 2}${color1}Buffered: $color${buffers}${alignr 2}${color1}Cached:$color ${cached}<br />
${voffset 5}${color2}SWAP: $color$swap ${color2}/ $color${swapmax}${alignr 2}${color2}${swapbar 14,80}$color<br />
${color1}${voffset -16}${alignr 5}$swapperc%<br />
${color0}${hr 1}$color<br />
${voffset 5}${color2}HD Info${color1} -$color Free${color1} - Used - ${color2} Total<br />
${voffset 5}${color1}Root: $color${fs_free_perc /}%${alignr 2}${fs_free /}${color2}/${color1}${fs_used /}$color/${color2}${fs_size /}$color<br />
${color1}Home: $color${fs_free_perc /home/usuario}%${alignr 2}${fs_free /home/usuario}${color2}/${color1}${fs_used /home/usuario}$color/${color2}${fs_size /home/usuario}$color<br />
${color0}${hr 1}$color<br />
${color1}Desde:$color Buenos Aires, Argentina<br />
${color1}Lat: ${color2}34°35&#8242;S          ${color1}Long: ${color2}58°21&#8242;W            ${color1}Alt: ${color2}25 m$color<br />
${voffset 5}${color2}${font calibri:size=12}hoy:$font ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=CC}$color${alignr 2}${color1}ST: ${color2}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=LT}<br />
${color3}${font Weather:size=50}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=WF}$font$color<br />
${alignr 50}${voffset -55}${font calibri:size=25}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=HT}$font<br />
${alignc 20}${voffset -30}${font Arrows:size=20}${color4}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=BF}$color$font<br />
${alignc 10}${voffset 5}${color4}Viento: ${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=WS}$color<br />
${color1}Humedad: ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=HM}${alignr 2}${color1}Precipitación: ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=PC}$color<br />
${alignc}${color1}Presión: ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=BR} - ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=BD}$color<br />
${color4}${hr}$color<br />
${color1}Salida del Sol: ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=SR}${alignr 2}${color1}Ocaso: ${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=SS}$color<br />
${voffset 15}${color1}Luna:${color4}${alignr 2}${color3}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=MP}$color<br />
${voffset -20}${offset 80}${color4}${font moon phases:size=20}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;datatype=MF}$font$color<br />
${color0}${hr}$color<br />
${voffset 5}${color2}IP:${alignc}$color${addr eth0}<br />
${color1}Down: $color${downspeed eth0}k/s ${alignr 2}${color1}Up: $color${upspeed eth0}k/s<br />
${color1}Total: $color${totaldown eth0} ${alignr 2}${color1}Total: $color${totalup eth0}<br />
${color1}Inbound: $color${tcp_portmon 1 32767 count}          ${color1}Outbound: $color${tcp_portmon 32768 61000 count}${alignr 2}${color1}Total: $color${tcp_portmon 1 65535 count}<br />
${voffset 5}${color2}Connections: $color${tcp_portmon 32768 61000 count} ${alignr 2} ${color2}Service/Port $color<br />
${voffset 5}${tcp_portmon 32768 61000 rhost 0} ${alignr 2} ${tcp_portmon 32768 61000 rservice 0}<br />
${tcp_portmon 32768 61000 rhost 1} ${alignr 2} ${tcp_portmon 32768 61000 rservice 1}<br />
${tcp_portmon 32768 61000 rhost 2} ${alignr 2} ${tcp_portmon 32768 61000 rservice 2}<br />
${tcp_portmon 32768 61000 rhost 3} ${alignr 2} ${tcp_portmon 32768 61000 rservice 3}<br />
${tcp_portmon 32768 61000 rhost 4} ${alignr 2} ${tcp_portmon 32768 61000 rservice 4}<br />
${tcp_portmon 32768 61000 rhost 5} ${alignr 2} ${tcp_portmon 32768 61000 rservice 5}$color</p></blockquote>
<p>creamos el archivo  ~/Conky/conkyforecast</p>
<blockquote><p>gedit ~/Conky/conkyforecast</p></blockquote>
<p>y pegamos dentro lo siguiente</p>
<blockquote><p>background no<br />
own_window yes<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
own_window_colour black<br />
double_buffer yes<br />
use_spacer left<br />
use_xft    yes<br />
font calibri:size=8<br />
xftfont calibri:size=8<br />
xftalpha 0.5<br />
update_interval 5.0<br />
uppercase no  # set to yes if you want all text to be in uppercase<br />
stippled_borders 3<br />
border_margin 9<br />
border_width 10<br />
default_color white<br />
default_outline_color black<br />
default_shade_color black<br />
color0 cyan<br />
color1 lightblue<br />
color2 orange<br />
color3 yellow<br />
color4 wheat<br />
color5 white<br />
color6 white<br />
color7 white<br />
color8 white<br />
color9 white<br />
alignment bottom_left  # or top_left, bottom_left, bottom_right<br />
gap_x 10<br />
gap_y 35<br />
text_buffer_size 1024 # use 1024 for the forecast<br />
no_buffers yes  # Subtract file system buffers from used memory?<br />
draw_borders no<br />
draw_outline yes  # amplifies text if yes<br />
draw_shades yes  # shadecolor black</p>
<p>TEXT<br />
${color4}${font calibri:size=11}Pronostico Extendido$font$color<br />
${color0}${hr}$color<br />
${color4}${font calibri:size=9}${execi 3600 python ~/Conky/scripts/conkyForecast.py &#8211;location=ARBA0009 &#8211;template=/home/usuario/Conky/scripts/myweather.template}$font$color</p></blockquote>
<p>creamos el archivo  ~/Conky/conkymail</p>
<blockquote><p>gedit  ~/Conky/conkymail</p></blockquote>
<p>pegamos dentro del archivo lo siguiente</p>
<blockquote><p>background no<br />
own_window yes<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
own_window_colour black<br />
double_buffer yes<br />
use_spacer left<br />
use_xft    yes<br />
font calibri:size=8<br />
xftfont calibri:size=8<br />
xftalpha 0.5<br />
update_interval 5.0<br />
uppercase no  # set to yes if you want all text to be in uppercase<br />
stippled_borders 3<br />
border_margin 9<br />
border_width 10<br />
default_color white<br />
default_outline_color black<br />
default_shade_color black<br />
color0 cyan<br />
color1 lightblue<br />
color2 orange<br />
color3 yellow<br />
color4 wheat<br />
color5 white<br />
color6 white<br />
color7 white<br />
color8 white<br />
color9 white<br />
alignment bottom_left  # or top_left, bottom_left, bottom_right<br />
gap_x 565<br />
gap_y 35<br />
text_buffer_size 128 # use 1024 for the forecast<br />
no_buffers yes  # Subtract file system buffers from used memory?<br />
draw_borders no<br />
draw_outline yes  # amplifies text if yes<br />
draw_shades yes  # shadecolor black</p>
<p>TEXT<br />
${font calibri:size=11}${alignc}${color4}Gmail<br />
${color0}${hr}$color<br />
${font calibri:size=11}${color4}Tenemos  ${color3}${execi 300 python ~/Conky/scripts/mail/conkyEmail.py}${color4}  email(s)$font</p></blockquote>
<p>Creamos un archivo en ~/Conky/scripts/conkyForecast.py (hay que crear la carpeta scripts)</p>
<blockquote><p>gedit ~/Conky/scripts/conkyForecast.py</p></blockquote>
<blockquote><p>#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
###############################################################################<br />
# conkyForecast.py is a (not so) simple (anymore) python script to gather<br />
# details of the current weather for use in conky.<br />
#<br />
#  Author: Kaivalagi<br />
# Created: 13/04/2008<br />
# Modifications:<br />
#    14/04/2008    Allow day ranges for forecast data<br />
#    14/04/2008    Check for connectivity to xoap service<br />
#    18/04/2008    Allow the setting of spaces for ranged output<br />
#    18/04/2008    Allow Night and Day forecast output<br />
#    18/04/2008    Support locale for condition code text &#8220;CC&#8221; option, awaiting spanish language translation<br />
#    18/04/2008    Use pickling for class data rather than opening xml, this bypasses the need to interrogate cached data<br />
#    19/04/2008    Added spanish condition text - Thanks Bruce M<br />
#    19/04/2008    Added isnumeric check on all numeric output with units suffix<br />
#    19/04/2008    Altered pickle file naming to include location code<br />
#    19/04/2008    Added spanish week days conversion via locale<br />
#    20/04/2008    Added decent command argument parser<br />
#    20/04/2008    Added &#8211;shortweekday option, if given the day of week data type is shortened to 3 characters<br />
#    21/04/2008    Fixed locale options for forecast output<br />
#    21/04/2008    Added &#8211;template option to allow custom output using a single exec call <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
#    21/04/2008    Added &#8211;hideunits option to remove, for example, mph and C from output<br />
#    23/04/2008    Removed &#8211;imperial option from template, this MUST be set as a standard option on the script call and not used in the template file.<br />
#    23/04/2008    Readded &#8211;imperial option to template, enabling metric or imperial values per datatype. Note when using templates command line option will not work.<br />
#    23/04/2008    Added output notifying user if the location given is bad<br />
#    24/04/2008    Added handling for no connectivity, will revert to cached data now (erroring if no cache exists). Tests by trying to open xoap.weather.com<br />
#    24/04/2008    Fixed Celsius to fahrenheit conversion<br />
#    06/05/2008    Updated url used after webservice was updated<br />
#    09/05/2008    Consolidated current condition and forecast data fetch into one call<br />
#    09/05/2008    Added Sunrise and sunset to datatypes, these are specific to both current conditions and forecast data<br />
#    09/05/2008    Added moon phase, barometer reading and barometer description to datatypes, these are only specific to current conditions and so are N/A in forecasted output<br />
#    09/05/2008    Added unit conversions for barometer from mb to inches (imperial)<br />
#   09/05/2008  Updated spanish condition text - Thanks Bruce M<br />
#   10/05/2008  Added french locale data - Thanks benpaka<br />
#   12/05/2008  Added new BF (bearing font) datatype to provide an arrow character (use with Arrow.ttf font) instead of NSEW output from WD (wind direction)<br />
#   12/05/2008  Updated WD output to be locale specific, currently supports default english and spanish - Thanks Bruce M<br />
#    18/05/2008    Added new MF (moon font) datatype to provide a moon font character (characters incorrect and no dedicated font yet).<br />
#    21/05/2008    For current conditions the &#8211;datatype=LT option now displays &#8220;feels like&#8221; temperature rather than the current temperature<br />
#<br />
# TODO:<br />
# Consolidate pkl files into one file/class<br />
# Add a weather font based moon phase output based on moon icon data<br />
# ??? Any more requirements out there?</p>
<p>import sys, os, socket, urllib2, datetime, time<br />
from xml.dom import minidom<br />
from stat import *<br />
from optparse import OptionParser<br />
import locale<br />
import gettext<br />
import pickle<br />
from math import *</p>
<p>APP=&#8221;conkyForecast.py&#8221;<br />
DIR=os.path.dirname (__file__) + &#8216;/locale&#8217;<br />
gettext.bindtextdomain(APP, DIR)<br />
gettext.textdomain(APP)<br />
_ = gettext.gettext</p>
<p>class CommandLineParser:</p>
<p>parser = None</p>
<p>def __init__(self):</p>
<p>self.parser = OptionParser()<br />
self.parser.add_option(&#8221;-l&#8221;,&#8221;&#8211;location&#8221;, dest=&#8221;location&#8221;, default=&#8221;UKXX0103&#8243;, type=&#8221;string&#8221;, metavar=&#8221;CODE&#8221;, help=u&#8221;location code for weather data [default: %default],Use the following url to determine your location code by city name: http://xoap.weather.com/search/search?where=Norwich&#8221;)<br />
self.parser.add_option(&#8221;-d&#8221;,&#8221;&#8211;datatype&#8221;,dest=&#8221;datatype&#8221;, default=&#8221;HT&#8221;, type=&#8221;string&#8221;, metavar=&#8221;DATATYPE&#8221;, help=u&#8221;[default: %default] The data type options are: DW (Day Of Week), WF (Weather Font Output), LT (Forecast:Low Temp,Current:Feels Like Temp), HT (Forecast:High Temp,Current:Current Temp), CC (Current Conditions), CT (Conditions Text), PC (Precipitation Chance), HM (Humidity), WD (Wind Direction), WS (Wind Speed), WG (Wind Gusts), CN (City Name), SR (sunrise), SS (sunset), MP (moon phase), MF (moon font), BR (barometer reading), BD (barometer description). Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-s&#8221;,&#8221;&#8211;startday&#8221;,dest=&#8221;startday&#8221;, type=&#8221;int&#8221;, metavar=&#8221;NUMBER&#8221;, help=u&#8221;define the starting day number, if omitted current conditions are output. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-e&#8221;,&#8221;&#8211;endday&#8221;,dest=&#8221;endday&#8221;, type=&#8221;int&#8221;, metavar=&#8221;NUMBER&#8221;, help=u&#8221;define the ending day number, if omitted only starting day data is output. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-S&#8221;,&#8221;&#8211;spaces&#8221;,dest=&#8221;spaces&#8221;, type=&#8221;int&#8221;, default=1, metavar=&#8221;NUMBER&#8221;, help=u&#8221;[default: %default] Define the number of spaces between ranged output. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-t&#8221;,&#8221;&#8211;template&#8221;,dest=&#8221;template&#8221;, type=&#8221;string&#8221;, metavar=&#8221;FILE&#8221;, help=u&#8221;define a template file to generate output in one call. A displayable item in the file is in the form {&#8211;datatype=HT &#8211;startday=1}. The following are possible options within each item: &#8211;datatype,&#8211;startday,&#8211;endday,&#8211;night,&#8211;shortweekday,&#8211;imperial,&#8211;hideunits,&#8211;spaces . Note that the short forms of the options are not currently supported! None of these options are applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-L&#8221;,&#8221;&#8211;locale&#8221;,dest=&#8221;locale&#8221;, type=&#8221;string&#8221;, help=u&#8221;override the system locale for language output (en=english, es=spanish, fr=french, more to come)&#8221;)<br />
self.parser.add_option(&#8221;-i&#8221;,&#8221;&#8211;imperial&#8221;,dest=&#8221;imperial&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;request imperial units, if omitted output is in metric. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-n&#8221;,&#8221;&#8211;night&#8221;,dest=&#8221;night&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;switch output to night data, if omitted day output will be output. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-w&#8221;,&#8221;&#8211;shortweekday&#8221;,dest=&#8221;shortweekday&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;Shorten the day of week data type to 3 characters. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-u&#8221;,&#8221;&#8211;hideunits&#8221;,dest=&#8221;hideunits&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;Hide units such as mph or C, degree symbols (°) are still shown. Not applicable at command line when using templates.&#8221;)<br />
self.parser.add_option(&#8221;-v&#8221;,&#8221;&#8211;verbose&#8221;,dest=&#8221;verbose&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;request verbose output, no a good idea when running through conky!&#8221;)<br />
self.parser.add_option(&#8221;-r&#8221;,&#8221;&#8211;refetch&#8221;,dest=&#8221;refetch&#8221;, default=False, action=&#8221;store_true&#8221;, help=u&#8221;fetch data regardless of data expiry&#8221;)</p>
<p>def parse_args(self):<br />
(options, args) = self.parser.parse_args()<br />
return (options, args)</p>
<p>def print_help(self):<br />
return self.parser.print_help()</p>
<p>class WeatherData:<br />
def __init__(self, day_of_week, low, high, condition_code, condition_text, precip, humidity, wind_dir, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc):<br />
self.day_of_week = u&#8221;"+day_of_week<br />
self.low = u&#8221;"+low<br />
self.high = u&#8221;"+high<br />
self.condition_code = u&#8221;"+condition_code<br />
self.condition_text = u&#8221;"+condition_text<br />
self.precip = u&#8221;"+precip<br />
self.humidity = u&#8221;"+humidity<br />
self.wind_dir = u&#8221;"+wind_dir<br />
self.wind_speed = u&#8221;"+wind_speed<br />
self.wind_gusts = u&#8221;"+wind_gusts<br />
self.city = u&#8221;"+city<br />
self.sunrise = u&#8221;"+sunrise<br />
self.sunset = u&#8221;"+sunset<br />
self.moon_phase = u&#8221;"+moon_phase<br />
self.moon_icon = u&#8221;"+moon_icon<br />
self.bar_read = u&#8221;"+bar_read<br />
self.bar_desc = u&#8221;"+bar_desc</p>
<p>class WeatherText:</p>
<p>conditions_text = {<br />
&#8220;0&#8243;: _(u&#8221;Tornado&#8221;),<br />
&#8220;1&#8243;: _(u&#8221;Tropical Storm&#8221;),<br />
&#8220;2&#8243;: _(u&#8221;Hurricane&#8221;),<br />
&#8220;3&#8243;: _(u&#8221;Severe Thunderstorms&#8221;),<br />
&#8220;4&#8243;: _(u&#8221;Thunderstorms&#8221;),<br />
&#8220;5&#8243;: _(u&#8221;Mixed Rain and Snow&#8221;),<br />
&#8220;6&#8243;: _(u&#8221;Mixed Rain and Sleet&#8221;),<br />
&#8220;7&#8243;: _(u&#8221;Mixed Precipitation&#8221;),<br />
&#8220;8&#8243;: _(u&#8221;Freezing Drizzle&#8221;),<br />
&#8220;9&#8243;: _(u&#8221;Drizzle&#8221;),<br />
&#8220;10&#8243;: _(u&#8221;Freezing Rain&#8221;),<br />
&#8220;11&#8243;: _(u&#8221;Showers&#8221;),<br />
&#8220;12&#8243;: _(u&#8221;Showers&#8221;),<br />
&#8220;13&#8243;: _(u&#8221;Snow Flurries&#8221;),<br />
&#8220;14&#8243;: _(u&#8221;Light Snow Showers&#8221;),<br />
&#8220;15&#8243;: _(u&#8221;Blowing Snow&#8221;),<br />
&#8220;16&#8243;: _(u&#8221;Snow&#8221;),<br />
&#8220;17&#8243;: _(u&#8221;Hail&#8221;),<br />
&#8220;18&#8243;: _(u&#8221;Sleet&#8221;),<br />
&#8220;19&#8243;: _(u&#8221;Dust&#8221;),<br />
&#8220;20&#8243;: _(u&#8221;Fog&#8221;),<br />
&#8220;21&#8243;: _(u&#8221;Haze&#8221;),<br />
&#8220;22&#8243;: _(u&#8221;Smoke&#8221;),<br />
&#8220;23&#8243;: _(u&#8221;Blustery&#8221;),<br />
&#8220;24&#8243;: _(u&#8221;Windy&#8221;),<br />
&#8220;25&#8243;: _(u&#8221;Cold&#8221;),<br />
&#8220;26&#8243;: _(u&#8221;Cloudy&#8221;),<br />
&#8220;27&#8243;: _(u&#8221;Mostly Cloudy&#8221;),<br />
&#8220;28&#8243;: _(u&#8221;Mostly Cloudy&#8221;),<br />
&#8220;29&#8243;: _(u&#8221;Partly Cloudy&#8221;),<br />
&#8220;30&#8243;: _(u&#8221;Partly Cloudy&#8221;),<br />
&#8220;31&#8243;: _(u&#8221;Clear&#8221;),<br />
&#8220;32&#8243;: _(u&#8221;Clear&#8221;),<br />
&#8220;33&#8243;: _(u&#8221;Fair&#8221;),<br />
&#8220;34&#8243;: _(u&#8221;Fair&#8221;),<br />
&#8220;35&#8243;: _(u&#8221;Mixed Rain and Hail&#8221;),<br />
&#8220;36&#8243;: _(u&#8221;Hot&#8221;),<br />
&#8220;37&#8243;: _(u&#8221;Isolated Thunderstorms&#8221;),<br />
&#8220;38&#8243;: _(u&#8221;Scattered Thunderstorms&#8221;),<br />
&#8220;39&#8243;: _(u&#8221;Scattered Thunderstorms&#8221;),<br />
&#8220;40&#8243;: _(u&#8221;Scattered Showers&#8221;),<br />
&#8220;41&#8243;: _(u&#8221;Heavy Snow&#8221;),<br />
&#8220;42&#8243;: _(u&#8221;Scattered Snow Showers&#8221;),<br />
&#8220;43&#8243;: _(u&#8221;Heavy Snow&#8221;),<br />
&#8220;44&#8243;: _(u&#8221;Partly Cloudy&#8221;),<br />
&#8220;45&#8243;: _(u&#8221;Thunder Showers&#8221;),<br />
&#8220;46&#8243;: _(u&#8221;Snow Showers&#8221;),<br />
&#8220;47&#8243;: _(u&#8221;Isolated Thunderstorms&#8221;),<br />
&#8220;na&#8221;: _(u&#8221;N/A&#8221;),<br />
&#8220;-&#8221;: _(u&#8221;N/A&#8221;)<br />
}</p>
<p>conditions_text_es = {<br />
&#8220;0&#8243;: _(u&#8221;Tornado&#8221;),<br />
&#8220;1&#8243;: _(u&#8221;Tormenta Tropical&#8221;),<br />
&#8220;2&#8243;: _(u&#8221;Huracá¡n&#8221;),<br />
&#8220;3&#8243;: _(u&#8221;Tormentas Fuertes&#8221;),<br />
&#8220;4&#8243;: _(u&#8221;Tormentas&#8221;),<br />
&#8220;5&#8243;: _(u&#8221;Lluvia y Nieve Mezclada&#8221;),<br />
&#8220;6&#8243;: _(u&#8221;Lluvia y Aguanieve Mezclada&#8221;),<br />
&#8220;7&#8243;: _(u&#8221;Aguanieve&#8221;),<br />
&#8220;8&#8243;: _(u&#8221;Llovizna Helada&#8221;),<br />
&#8220;9&#8243;: _(u&#8221;Llovizna&#8221;),<br />
&#8220;10&#8243;: _(u&#8221;Lluvia Engelante&#8221;), # o lluvia helada<br />
&#8220;11&#8243;: _(u&#8221;Chaparrones&#8221;),<br />
&#8220;12&#8243;: _(u&#8221;Chaparrones&#8221;),<br />
&#8220;13&#8243;: _(u&#8221;Nieve Ligera&#8221;),<br />
&#8220;14&#8243;: _(u&#8221;Nieve Ligera&#8221;),<br />
&#8220;15&#8243;: _(u&#8221;Ventisca de Nieve&#8221;),<br />
&#8220;16&#8243;: _(u&#8221;Nieve&#8221;),<br />
&#8220;17&#8243;: _(u&#8221;Granizo&#8221;),<br />
&#8220;18&#8243;: _(u&#8221;Aguanieve&#8221;),<br />
&#8220;19&#8243;: _(u&#8221;Polvo&#8221;),<br />
&#8220;20&#8243;: _(u&#8221;Niebla&#8221;),<br />
&#8220;21&#8243;: _(u&#8221;Bruma&#8221;),<br />
&#8220;22&#8243;: _(u&#8221;Humo&#8221;),<br />
&#8220;23&#8243;: _(u&#8221;Tempestad&#8221;),<br />
&#8220;24&#8243;: _(u&#8221;Ventoso&#8221;),<br />
&#8220;25&#8243;: _(u&#8221;Fráo&#8221;),<br />
&#8220;26&#8243;: _(u&#8221;Muy Nublado&#8221;),<br />
&#8220;27&#8243;: _(u&#8221;Principalmente Nublado&#8221;),<br />
&#8220;28&#8243;: _(u&#8221;Principalmente Nublado&#8221;),<br />
&#8220;29&#8243;: _(u&#8221;Parcialmente Nublado&#8221;),<br />
&#8220;30&#8243;: _(u&#8221;Parcialmente Nublado&#8221;),<br />
&#8220;31&#8243;: _(u&#8221;Despejado&#8221;),<br />
&#8220;32&#8243;: _(u&#8221;Despejado&#8221;),<br />
&#8220;33&#8243;: _(u&#8221;Algo Nublado&#8221;),<br />
&#8220;34&#8243;: _(u&#8221;Algo Nublado&#8221;),<br />
&#8220;35&#8243;: _(u&#8221;Lluvia con Granizo&#8221;),<br />
&#8220;36&#8243;: _(u&#8221;Calor&#8221;),<br />
&#8220;37&#8243;: _(u&#8221;Tormentas Aisladas&#8221;),<br />
&#8220;38&#8243;: _(u&#8221;Tormentas Dispersas&#8221;),<br />
&#8220;39&#8243;: _(u&#8221;Tormentas Dispersas&#8221;),<br />
&#8220;40&#8243;: _(u&#8221;Chubascos Dispersos&#8221;),<br />
&#8220;41&#8243;: _(u&#8221;Nieve Pesada&#8221;),<br />
&#8220;42&#8243;: _(u&#8221;Nevadas Débiles y Dispersas&#8221;),<br />
&#8220;43&#8243;: _(u&#8221;Nevada Intensa&#8221;),<br />
&#8220;44&#8243;: _(u&#8221;Nubes Dispersas&#8221;),<br />
&#8220;45&#8243;: _(u&#8221;Tormentas&#8221;),<br />
&#8220;46&#8243;: _(u&#8221;Nevadas Dispersas&#8221;),<br />
&#8220;47&#8243;: _(u&#8221;Tormentas Aisladas&#8221;),<br />
&#8220;na&#8221;: _(u&#8221;N/A&#8221;),<br />
&#8220;-&#8221;: _(u&#8221;N/A&#8221;)<br />
}</p>
<p>conditions_text_fr = {<br />
&#8220;0&#8243;: _(u&#8221;Tornade&#8221;),<br />
&#8220;1&#8243;: _(u&#8221;Tempête Tropicale&#8221;),<br />
&#8220;2&#8243;: _(u&#8221;Ouragan&#8221;),<br />
&#8220;3&#8243;: _(u&#8221;Orages Violents&#8221;),<br />
&#8220;4&#8243;: _(u&#8221;Orageux&#8221;),<br />
&#8220;5&#8243;: _(u&#8221;Pluie et Neige&#8221;),<br />
&#8220;6&#8243;: _(u&#8221;Pluie et Neige Mouillée&#8221;),<br />
&#8220;7&#8243;: _(u&#8221;Variable avec averses&#8221;),<br />
&#8220;8&#8243;: _(u&#8221;Bruine Givrante&#8221;),<br />
&#8220;9&#8243;: _(u&#8221;Bruine&#8221;),<br />
&#8220;10&#8243;: _(u&#8221;Pluie Glacante&#8221;),<br />
&#8220;11&#8243;: _(u&#8221;Averses&#8221;),<br />
&#8220;12&#8243;: _(u&#8221;Averses&#8221;),<br />
&#8220;13&#8243;: _(u&#8221;Légère Neige&#8221;),<br />
&#8220;14&#8243;: _(u&#8221;Forte Neige&#8221;),<br />
&#8220;15&#8243;: _(u&#8221;Tempête de Neige&#8221;),<br />
&#8220;16&#8243;: _(u&#8221;Neige&#8221;),<br />
&#8220;17&#8243;: _(u&#8221;Grêle&#8221;),<br />
&#8220;18&#8243;: _(u&#8221;Pluie/Neige&#8221;),<br />
&#8220;19&#8243;: _(u&#8221;Nuage de poussière&#8221;),<br />
&#8220;20&#8243;: _(u&#8221;Brouillard&#8221;),<br />
&#8220;21&#8243;: _(u&#8221;Brume&#8221;),<br />
&#8220;22&#8243;: _(u&#8221;Fumée&#8221;),<br />
&#8220;23&#8243;: _(u&#8221;Tres Venteux&#8221;),<br />
&#8220;24&#8243;: _(u&#8221;Venteux&#8221;),<br />
&#8220;25&#8243;: _(u&#8221;Froid&#8221;),<br />
&#8220;26&#8243;: _(u&#8221;Nuageux&#8221;),<br />
&#8220;27&#8243;: _(u&#8221;Tres Nuageux&#8221;),<br />
&#8220;28&#8243;: _(u&#8221;Tres Nuageux&#8221;),<br />
&#8220;29&#8243;: _(u&#8221;Nuages Disséminés&#8221;),<br />
&#8220;30&#8243;: _(u&#8221;Nuages Disséminés&#8221;),<br />
&#8220;31&#8243;: _(u&#8221;Beau&#8221;),<br />
&#8220;32&#8243;: _(u&#8221;Beau&#8221;),<br />
&#8220;33&#8243;: _(u&#8221;Belles Éclaircies&#8221;),<br />
&#8220;34&#8243;: _(u&#8221;Belles Éclaircies&#8221;),<br />
&#8220;35&#8243;: _(u&#8221;Pluie avec Grêle&#8221;),<br />
&#8220;36&#8243;: _(u&#8221;Chaleur&#8221;),<br />
&#8220;37&#8243;: _(u&#8221;Orages Isolés&#8221;),<br />
&#8220;38&#8243;: _(u&#8221;Orages Localisés&#8221;),<br />
&#8220;39&#8243;: _(u&#8221;Orages Localisés&#8221;),<br />
&#8220;40&#8243;: _(u&#8221;Averses Localisées&#8221;),<br />
&#8220;41&#8243;: _(u&#8221;Neige Lourde&#8221;),<br />
&#8220;42&#8243;: _(u&#8221;Tempête de Neige Localisées&#8221;),<br />
&#8220;43&#8243;: _(u&#8221;Neige Lourde&#8221;),<br />
&#8220;44&#8243;: _(u&#8221;Nuages Disséminés&#8221;),<br />
&#8220;45&#8243;: _(u&#8221;Orages&#8221;),<br />
&#8220;46&#8243;: _(u&#8221;Tempête de Neige&#8221;),<br />
&#8220;47&#8243;: _(u&#8221;Orages Isolés&#8221;),<br />
&#8220;na&#8221;: _(u&#8221;N/A&#8221;),<br />
&#8220;-&#8221;: _(u&#8221;N/A&#8221;)<br />
}</p>
<p>conditions_weather_font = {<br />
&#8220;0&#8243;: _(u&#8221;W&#8221;),<br />
&#8220;1&#8243;: _(u&#8221;V&#8221;),<br />
&#8220;2&#8243;: _(u&#8221;W&#8221;),<br />
&#8220;3&#8243;: _(u&#8221;s&#8221;),<br />
&#8220;4&#8243;: _(u&#8221;p&#8221;),<br />
&#8220;5&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;6&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;7&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;8&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;9&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;10&#8243;: _(u&#8221;h&#8221;),<br />
&#8220;11&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;12&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;13&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;14&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;15&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;16&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;17&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;18&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;19&#8243;: _(u&#8221;e&#8221;),<br />
&#8220;20&#8243;: _(u&#8221;e&#8221;),<br />
&#8220;21&#8243;: _(u&#8221;a&#8221;),<br />
&#8220;22&#8243;: _(u&#8221;d&#8221;),<br />
&#8220;23&#8243;: _(u&#8221;d&#8221;),<br />
&#8220;24&#8243;: _(u&#8221;d&#8221;),<br />
&#8220;25&#8243;: _(u&#8221;d&#8221;),<br />
&#8220;26&#8243;: _(u&#8221;e&#8221;),<br />
&#8220;27&#8243;: _(u&#8221;e&#8221;),<br />
&#8220;28&#8243;: _(u&#8221;e&#8221;),<br />
&#8220;29&#8243;: _(u&#8221;c&#8221;),<br />
&#8220;30&#8243;: _(u&#8221;c&#8221;),<br />
&#8220;31&#8243;: _(u&#8221;a&#8221;),<br />
&#8220;32&#8243;: _(u&#8221;a&#8221;),<br />
&#8220;33&#8243;: _(u&#8221;b&#8221;),<br />
&#8220;34&#8243;: _(u&#8221;b&#8221;),<br />
&#8220;35&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;36&#8243;: _(u&#8221;a&#8221;),<br />
&#8220;37&#8243;: _(u&#8221;f&#8221;),<br />
&#8220;38&#8243;: _(u&#8221;f&#8221;),<br />
&#8220;39&#8243;: _(u&#8221;f&#8221;),<br />
&#8220;40&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;41&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;42&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;43&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;44&#8243;: _(u&#8221;b&#8221;),<br />
&#8220;45&#8243;: _(u&#8221;g&#8221;),<br />
&#8220;46&#8243;: _(u&#8221;k&#8221;),<br />
&#8220;47&#8243;: _(u&#8221;f&#8221;),<br />
&#8220;na&#8221;: _(u&#8221;"),<br />
&#8220;-&#8221;: _(u&#8221;")<br />
}</p>
<p>conditions_moon_font = {<br />
&#8220;0&#8243;: _(u&#8221;1&#8243;),<br />
&#8220;1&#8243;: _(u&#8221;N&#8221;),<br />
&#8220;2&#8243;: _(u&#8221;O&#8221;),<br />
&#8220;3&#8243;: _(u&#8221;P&#8221;),<br />
&#8220;4&#8243;: _(u&#8221;Q&#8221;),<br />
&#8220;5&#8243;: _(u&#8221;R&#8221;),<br />
&#8220;6&#8243;: _(u&#8221;S&#8221;),<br />
&#8220;7&#8243;: _(u&#8221;T&#8221;),<br />
&#8220;8&#8243;: _(u&#8221;U&#8221;),<br />
&#8220;9&#8243;: _(u&#8221;V&#8221;),<br />
&#8220;10&#8243;: _(u&#8221;W&#8221;),<br />
&#8220;11&#8243;: _(u&#8221;X&#8221;),<br />
&#8220;12&#8243;: _(u&#8221;Y&#8221;),<br />
&#8220;13&#8243;: _(u&#8221;Z&#8221;),<br />
&#8220;14&#8243;: _(u&#8221;0&#8243;),<br />
&#8220;15&#8243;: _(u&#8221;0&#8243;),<br />
&#8220;16&#8243;: _(u&#8221;A&#8221;),<br />
&#8220;17&#8243;: _(u&#8221;B&#8221;),<br />
&#8220;18&#8243;: _(u&#8221;C&#8221;),<br />
&#8220;19&#8243;: _(u&#8221;D&#8221;),<br />
&#8220;20&#8243;: _(u&#8221;E&#8221;),<br />
&#8220;21&#8243;: _(u&#8221;F&#8221;),<br />
&#8220;22&#8243;: _(u&#8221;G&#8221;),<br />
&#8220;23&#8243;: _(u&#8221;H&#8221;),<br />
&#8220;24&#8243;: _(u&#8221;I&#8221;),<br />
&#8220;25&#8243;: _(u&#8221;J&#8221;),<br />
&#8220;26&#8243;: _(u&#8221;K&#8221;),<br />
&#8220;27&#8243;: _(u&#8221;L&#8221;),<br />
&#8220;28&#8243;: _(u&#8221;M&#8221;),<br />
&#8220;29&#8243;: _(u&#8221;1&#8243;),<br />
&#8220;na&#8221;: _(u&#8221;"),<br />
&#8220;-&#8221;: _(u&#8221;")<br />
}</p>
<p>day_of_week = {<br />
&#8220;Today&#8221;: _(u&#8221;Today&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;Monday&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;Tuesday&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;Wednesday&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;Thursday&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;Friday&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;Saturday&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;Sunday&#8221;)<br />
}</p>
<p>day_of_week_short = {<br />
&#8220;Today&#8221;: _(u&#8221;Now&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;Mon&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;Tue&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;Wed&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;Thu&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;Fri&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;Sat&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;Sun&#8221;)<br />
}</p>
<p>day_of_week_es = {<br />
&#8220;Today&#8221;: _(u&#8221;hoy&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;lunes&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;martes&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;miércoles&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;jueves&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;viernes&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;sábado&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;domingo&#8221;)<br />
}</p>
<p>day_of_week_short_es = {<br />
&#8220;Today&#8221;: _(u&#8221;hoy&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;lun&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;mar&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;mié&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;jue&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;vie&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;sáb&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;dom&#8221;)<br />
}</p>
<p>day_of_week_fr = {<br />
&#8220;Today&#8221;: _(u&#8221;Aujourd&#8217;hui&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;Lundi&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;Mardi&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;Mercredi&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;Jeudi&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;Vendredi&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;Samedi&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;Dimanche&#8221;)<br />
}</p>
<p>day_of_week_short_fr = {<br />
&#8220;Today&#8221;: _(u&#8221;Auj&#8221;),<br />
&#8220;Monday&#8221;: _(u&#8221;Lun&#8221;),<br />
&#8220;Tuesday&#8221;: _(u&#8221;Mar&#8221;),<br />
&#8220;Wednesday&#8221;: _(u&#8221;Mer&#8221;),<br />
&#8220;Thursday&#8221;: _(u&#8221;Jeu&#8221;),<br />
&#8220;Friday&#8221;: _(u&#8221;Ven&#8221;),<br />
&#8220;Saturday&#8221;: _(u&#8221;Sam&#8221;),<br />
&#8220;Sunday&#8221;: _(u&#8221;Dim&#8221;)<br />
}</p>
<p>bearing_arrow_font = {<br />
&#8220;N&#8221;: _(u&#8221;i&#8221;),<br />
&#8220;NNE&#8221;: _(u&#8221;j&#8221;),<br />
&#8220;NE&#8221;: _(u&#8221;k&#8221;),<br />
&#8220;ENE&#8221;: _(u&#8221;l&#8221;),<br />
&#8220;E&#8221;: _(u&#8221;m&#8221;),<br />
&#8220;ESE&#8221;: _(u&#8221;n&#8221;),<br />
&#8220;SE&#8221;: _(u&#8221;o&#8221;),<br />
&#8220;SSE&#8221;: _(u&#8221;p&#8221;),<br />
&#8220;S&#8221;: _(u&#8221;a&#8221;),<br />
&#8220;SSW&#8221;: _(u&#8221;b&#8221;),<br />
&#8220;SW&#8221;: _(u&#8221;c&#8221;),<br />
&#8220;WSW&#8221;: _(u&#8221;d&#8221;),<br />
&#8220;W&#8221;: _(u&#8221;e&#8221;),<br />
&#8220;WNW&#8221;: _(u&#8221;f&#8221;),<br />
&#8220;NW&#8221;: _(u&#8221;g&#8221;),<br />
&#8220;NNW&#8221;: _(u&#8221;h&#8221;),<br />
&#8220;N/A&#8221;: _(u&#8221; &#8220;)<br />
}</p>
<p>bearing_text_es = {<br />
&#8220;N&#8221;: _(u&#8221;N&#8221;),<br />
&#8220;NNE&#8221;: _(u&#8221;NNE&#8221;),<br />
&#8220;NE&#8221;: _(u&#8221;NE&#8221;),<br />
&#8220;ENE&#8221;: _(u&#8221;ENE&#8221;),<br />
&#8220;E&#8221;: _(u&#8221;E&#8221;),<br />
&#8220;ESE&#8221;: _(u&#8221;ESE&#8221;),<br />
&#8220;SE&#8221;: _(u&#8221;SE&#8221;),<br />
&#8220;SSE&#8221;: _(u&#8221;SSE&#8221;),<br />
&#8220;S&#8221;: _(u&#8221;S&#8221;),<br />
&#8220;SSW&#8221;: _(u&#8221;SSO&#8221;),<br />
&#8220;SW&#8221;: _(u&#8221;SO&#8221;),<br />
&#8220;WSW&#8221;: _(u&#8221;WOW&#8221;),<br />
&#8220;W&#8221;: _(u&#8221;O&#8221;),<br />
&#8220;WNW&#8221;: _(u&#8221;ONO&#8221;),<br />
&#8220;NW&#8221;: _(u&#8221;NO&#8221;),<br />
&#8220;NNW&#8221;: _(u&#8221;NNO&#8221;),<br />
&#8220;N/A&#8221;: _(u&#8221;N\A&#8221;)<br />
}</p>
<p>bearing_text_fr = {<br />
&#8220;N&#8221;: _(u&#8221;N&#8221;),<br />
&#8220;NNE&#8221;: _(u&#8221;NNE&#8221;),<br />
&#8220;NE&#8221;: _(u&#8221;NE&#8221;),<br />
&#8220;ENE&#8221;: _(u&#8221;ENE&#8221;),<br />
&#8220;E&#8221;: _(u&#8221;E&#8221;),<br />
&#8220;ESE&#8221;: _(u&#8221;ESE&#8221;),<br />
&#8220;SE&#8221;: _(u&#8221;SE&#8221;),<br />
&#8220;SSE&#8221;: _(u&#8221;SSE&#8221;),<br />
&#8220;S&#8221;: _(u&#8221;S&#8221;),<br />
&#8220;SSW&#8221;: _(u&#8221;SSO&#8221;),<br />
&#8220;SW&#8221;: _(u&#8221;SO&#8221;),<br />
&#8220;WSW&#8221;: _(u&#8221;WOW&#8221;),<br />
&#8220;W&#8221;: _(u&#8221;O&#8221;),<br />
&#8220;WNW&#8221;: _(u&#8221;ONO&#8221;),<br />
&#8220;NW&#8221;: _(u&#8221;NO&#8221;),<br />
&#8220;NNW&#8221;: _(u&#8221;NNO&#8221;),<br />
&#8220;N/A&#8221;: _(u&#8221;N\A&#8221;)<br />
}</p>
<p>class GlobalWeather:</p>
<p>current_conditions = []<br />
day_forecast = []<br />
night_forecast = []</p>
<p>locale = &#8220;en&#8221;</p>
<p>options = None<br />
weatherxmldoc = &#8220;&#8221;</p>
<p>TEMP_FILEPATH_CURRENT = &#8220;/tmp/conkyForecast-c-LOCATION.pkl&#8221;<br />
TEMP_FILEPATH_DAYFORECAST = &#8220;/tmp/conkyForecast-df-LOCATION.pkl&#8221;<br />
TEMP_FILEPATH_NIGHTFORECAST = &#8220;/tmp/conkyForecast-nf-LOCATION.pkl&#8221;<br />
EXPIRY_MINUTES = 30<br />
DEFAULT_SPACING = u&#8221; &#8220;</p>
<p>def __init__(self,options):</p>
<p>self.options = options</p>
<p>if self.options.locale == None:<br />
try:<br />
#self.locale = locale.getdefaultlocale()[0][0:2]<br />
self.locale = &#8220;es&#8221; #uncomment this line to force Spanish locale<br />
#self.locale = &#8220;fr&#8221; #uncomment this line to force French locale<br />
except:<br />
print &#8220;locale not set&#8221;<br />
else:<br />
#self.locale = self.options.locale<br />
self.locale = &#8220;es&#8221; #uncomment this line to force Spanish locale<br />
#self.locale = &#8220;fr&#8221; #uncomment this line to force French locale</p>
<p>if self.options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;locale set to &#8220;,self.locale</p>
<p>def getText(self,nodelist):<br />
rc = &#8220;&#8221;<br />
for node in nodelist:<br />
if node.nodeType == node.TEXT_NODE:<br />
rc = rc + node.data<br />
return rc</p>
<p>def getSpaces(self,spaces):<br />
string = u&#8221;"<br />
if spaces == None:<br />
string = self.DEFAULT_SPACING<br />
else:<br />
for i in range(0, spaces+1):<br />
string = string + u&#8221; &#8220;<br />
return string</p>
<p>def isNumeric(self,string):<br />
try:<br />
dummy = float(string)<br />
return True<br />
except:<br />
return False</p>
<p>def isConnectionAvailable(self):<br />
# ensure we can access weather.com&#8217;s server by opening the url<br />
try:<br />
usock = urllib2.urlopen(&#8217;http://xoap.weather.com&#8217;)<br />
usock.close()<br />
return True<br />
except:<br />
return False</p>
<p>def getBearingText(self,bearing):<br />
bearing = float(bearing)<br />
if bearing &lt; 11.25:<br />
return u&#8221;N&#8221;<br />
elif bearing &lt; 33.75:<br />
return u&#8221;NNE&#8221;<br />
elif bearing &lt; 56.25:<br />
return u&#8221;NE&#8221;<br />
elif bearing &lt; 78.75:<br />
return u&#8221;ENE&#8221;<br />
elif bearing &lt; 101.25:<br />
return u&#8221;E&#8221;<br />
elif bearing &lt; 123.75:<br />
return u&#8221;ESE&#8221;<br />
elif bearing &lt; 146.25:<br />
return u&#8221;SE&#8221;<br />
elif bearing &lt; 168.75:<br />
return u&#8221;SSE&#8221;<br />
elif bearing &lt; 191.25:<br />
return u&#8221;S&#8221;<br />
elif bearing &lt; 213.75:<br />
return u&#8221;SSW&#8221;<br />
elif bearing &lt; 236.25:<br />
return u&#8221;SW&#8221;<br />
elif bearing &lt; 258.75:<br />
return u&#8221;WSW&#8221;<br />
elif bearing &lt; 281.25:<br />
return u&#8221;W&#8221;<br />
elif bearing &lt; 303.75:<br />
return u&#8221;WNW&#8221;<br />
elif bearing &lt; 326.25:<br />
return u&#8221;NW&#8221;<br />
elif bearing &lt; 348.75:<br />
return u&#8221;NNW&#8221;<br />
else:<br />
return &#8220;N/A&#8221;</p>
<p>def convertCelsiusToFahrenheit(self,temp):<br />
return str(int(floor(((float(temp)*9.0)/5.0)+32)))</p>
<p>def convertKilometresToMiles(self,dist):<br />
return str(int(floor(float(dist)*0.621371192)))</p>
<p>def convertMillibarsToInches(self,mb):<br />
return str(int(floor(float(mb)/33.8582)))</p>
<p>def getTemplateList(self,template):</p>
<p>templatelist = []</p>
<p>for template_part in template.split(&#8221;{&#8221;):<br />
if template_part != &#8220;&#8221;:<br />
for template_part in template_part.split(&#8221;}&#8221;):<br />
if template_part != &#8220;&#8221;:<br />
templatelist.append(u&#8221;"+template_part)</p>
<p>return templatelist</p>
<p>def getOutputText(self,datatype,startday,endday,night,shortweekday,imperial,hideunits,spaces):<br />
#try:<br />
output = u&#8221;"</p>
<p># define current units for output<br />
if hideunits == False:<br />
if imperial == False:<br />
tempunit = u&#8221;°C&#8221;<br />
speedunit = u&#8221;kph&#8221;<br />
pressureunit = u&#8221;mb&#8221;<br />
else:<br />
tempunit = u&#8221;°F&#8221;<br />
speedunit = u&#8221;mph&#8221;<br />
pressureunit = u&#8221;in&#8221;<br />
else:<br />
tempunit = u&#8221;°&#8221;<br />
speedunit = u&#8221;"<br />
pressureunit = u&#8221;"</p>
<p>if startday == None: # current conditions</p>
<p>if datatype == &#8220;DW&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
if shortweekday == True:<br />
output = WeatherText.day_of_week_short_es[self.current_conditions[0].day_of_week]<br />
else:<br />
output = WeatherText.day_of_week_es[self.current_conditions[0].day_of_week]<br />
elif self.locale == &#8220;fr&#8221;:<br />
if shortweekday == True:<br />
output = WeatherText.day_of_week_short_fr[self.current_conditions[0].day_of_week]<br />
else:<br />
output = WeatherText.day_of_week_fr[self.current_conditions[0].day_of_week]<br />
else:<br />
if shortweekday == True:<br />
output = WeatherText.day_of_week_short[self.current_conditions[0].day_of_week]<br />
else:<br />
output = WeatherText.day_of_week[self.current_conditions[0].day_of_week]<br />
elif datatype == &#8220;WF&#8221;: # weather font<br />
output = WeatherText.conditions_weather_font[self.current_conditions[0].condition_code]<br />
elif datatype == &#8220;LT&#8221;:<br />
string = self.current_conditions[0].low<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = string<br />
elif datatype == &#8220;HT&#8221;:<br />
string = self.current_conditions[0].high<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = string<br />
elif datatype == &#8220;CC&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
output = WeatherText.conditions_text_es[self.current_conditions[0].condition_code]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = WeatherText.conditions_text_fr[self.current_conditions[0].condition_code]<br />
else:<br />
output = WeatherText.conditions_text[self.current_conditions[0].condition_code]<br />
elif datatype == &#8220;CT&#8221;:<br />
output = self.current_conditions[0].condition_text<br />
elif datatype == &#8220;PC&#8221;:<br />
string = self.current_conditions[0].precip<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = string<br />
elif datatype == &#8220;HM&#8221;:<br />
string = self.current_conditions[0].humidity<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = string<br />
elif datatype == &#8220;WD&#8221;:<br />
string = self.current_conditions[0].wind_dir<br />
if self.isNumeric(string) == True:<br />
string = self.getBearingText(string)</p>
<p>if self.locale == &#8220;es&#8221;:<br />
output = WeatherText.bearing_text_es[string]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = WeatherText.bearing_text_fr[string]<br />
else:<br />
output = string</p>
<p>elif datatype == &#8220;BF&#8221;:<br />
string = self.current_conditions[0].wind_dir<br />
if self.isNumeric(string) == True:<br />
string = WeatherText.bearing_arrow_font[self.getBearingText(string)]<br />
output = string<br />
elif datatype == &#8220;WS&#8221;:<br />
string = self.current_conditions[0].wind_speed<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = string<br />
elif datatype == &#8220;WG&#8221;:<br />
string = self.current_conditions[0].wind_gusts<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = string<br />
elif datatype == &#8220;CN&#8221;:<br />
output = self.current_conditions[0].city<br />
elif datatype == &#8220;SR&#8221;:<br />
output = self.current_conditions[0].sunrise<br />
elif datatype == &#8220;SS&#8221;:<br />
output = self.current_conditions[0].sunset<br />
elif datatype == &#8220;MP&#8221;:<br />
output = self.current_conditions[0].moon_phase<br />
elif datatype == &#8220;MF&#8221;:<br />
output = WeatherText.conditions_moon_font[self.current_conditions[0].moon_icon]<br />
elif datatype == &#8220;BR&#8221;:<br />
string = self.current_conditions[0].bar_read<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertMillibarsToInches(string)<br />
string = string + pressureunit<br />
output = string<br />
elif datatype == &#8220;BD&#8221;:<br />
output = self.current_conditions[0].bar_desc<br />
else:<br />
output = &#8220;\nERROR:Unknown data type requested&#8221;</p>
<p>else: # forecast data</p>
<p>if endday == None: # if no endday was set use startday<br />
endday = startday</p>
<p>if night == True: # night forecast required</p>
<p>for day_number in range(startday, endday+1):</p>
<p>if datatype == &#8220;DW&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short_es[self.night_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_es[self.night_forecast[day_number].day_of_week]<br />
elif self.locale == &#8220;fr&#8221;:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short_fr[self.night_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_fr[self.night_forecast[day_number].day_of_week]<br />
else:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short[self.night_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week[self.night_forecast[day_number].day_of_week]<br />
elif datatype == &#8220;WF&#8221;: # weather font<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_weather_font[self.night_forecast[day_number].condition_code]<br />
elif datatype == &#8220;LT&#8221;:<br />
string = self.night_forecast[day_number].low<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = output + self.getSpaces(spaces) + string</p>
<p>elif datatype == &#8220;HT&#8221;:<br />
string = self.night_forecast[day_number].high<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;CC&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text_es[self.night_forecast[day_number].condition_code]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text_fr[self.night_forecast[day_number].condition_code]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text[self.night_forecast[day_number].condition_code]<br />
elif datatype == &#8220;CT&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].condition_text<br />
elif datatype == &#8220;PC&#8221;:<br />
string = self.night_forecast[day_number].precip<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;HM&#8221;:<br />
string = self.night_forecast[day_number].humidity<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;WD&#8221;:<br />
string = self.night_forecast[day_number].wind_dir<br />
if self.locale == &#8220;es&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_text_es[string]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_text_fr[string]<br />
else:<br />
output = output + self.getSpaces(spaces) + string</p>
<p>elif datatype == &#8220;BF&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_arrow_font[self.night_forecast[day_number].wind_dir]<br />
elif datatype == &#8220;WS&#8221;:<br />
string = self.night_forecast[day_number].wind_speed<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;WG&#8221;:<br />
string = self.night_forecast[day_number].wind_gusts<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;CN&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].city<br />
elif datatype == &#8220;SR&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].sunrise<br />
elif datatype == &#8220;SS&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].sunset<br />
elif datatype == &#8220;MP&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].moon_phase<br />
elif datatype == &#8220;MF&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_moon_font[self.night_forecast[day_number].moon_icon]<br />
elif datatype == &#8220;BR&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].bar_read<br />
elif datatype == &#8220;BD&#8221;:<br />
output = output + self.getSpaces(spaces) + self.night_forecast[day_number].bar_desc<br />
else:<br />
output = &#8220;\nERROR:Unknown data type requested&#8221;<br />
break</p>
<p>else: # day forecast wanted</p>
<p>for day_number in range(startday, endday+1):</p>
<p>if datatype == &#8220;DW&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short_es[self.day_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_es[self.day_forecast[day_number].day_of_week]<br />
elif self.locale == &#8220;fr&#8221;:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short_fr[self.day_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_fr[self.day_forecast[day_number].day_of_week]<br />
else:<br />
if shortweekday == True:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week_short[self.day_forecast[day_number].day_of_week]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.day_of_week[self.day_forecast[day_number].day_of_week]<br />
elif datatype == &#8220;WF&#8221;: # weather font<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_weather_font[self.day_forecast[day_number].condition_code]<br />
elif datatype == &#8220;LT&#8221;:<br />
string = self.day_forecast[day_number].low<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;HT&#8221;:<br />
string = self.day_forecast[day_number].high<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertCelsiusToFahrenheit(string)<br />
string = string + tempunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;CC&#8221;:<br />
if self.locale == &#8220;es&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text_es[self.day_forecast[day_number].condition_code]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text_fr[self.day_forecast[day_number].condition_code]<br />
else:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_text[self.day_forecast[day_number].condition_code]<br />
elif datatype == &#8220;CT&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].condition_text<br />
elif datatype == &#8220;PC&#8221;:<br />
string = self.day_forecast[day_number].precip<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;HM&#8221;:<br />
string = self.day_forecast[day_number].humidity<br />
if self.isNumeric(string) == True:<br />
string = string + u&#8221;%&#8221;<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;WD&#8221;:<br />
string = self.day_forecast[day_number].wind_dir</p>
<p>if self.locale == &#8220;es&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_text_es[string]<br />
elif self.locale == &#8220;fr&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_text_fr[string]<br />
else:<br />
output = output + self.getSpaces(spaces) + string</p>
<p>elif datatype == &#8220;BF&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.bearing_arrow_font[self.day_forecast[day_number].wind_dir]<br />
elif datatype == &#8220;WS&#8221;:<br />
string = self.day_forecast[day_number].wind_speed<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;WG&#8221;:<br />
string = self.day_forecast[day_number].wind_gusts<br />
if self.isNumeric(string) == True:<br />
if imperial == True:<br />
string = self.convertKilometresToMiles(string)<br />
string = string + speedunit<br />
output = output + self.getSpaces(spaces) + string<br />
elif datatype == &#8220;CN&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].city<br />
elif datatype == &#8220;SR&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].sunrise<br />
elif datatype == &#8220;SS&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].sunset<br />
elif datatype == &#8220;MP&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].moon_phase<br />
elif datatype == &#8220;MF&#8221;:<br />
output = output + self.getSpaces(spaces) + WeatherText.conditions_moon_font[self.day_forecast[day_number].moon_icon]<br />
elif datatype == &#8220;BR&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].bar_read<br />
elif datatype == &#8220;BD&#8221;:<br />
output = output + self.getSpaces(spaces) + self.day_forecast[day_number].bar_desc<br />
else:<br />
output = u&#8221;\nERROR:Unknown data type requested&#8221;<br />
break</p>
<p>output = u&#8221;"+output.strip(u&#8221; &#8220;) # lose leading/trailing spaces<br />
return output</p>
<p>#except:<br />
#print &#8220;getOutputText:Unexpected error: &#8220;, sys.exc_info()[0]</p>
<p>def getOutputTextFromTemplate(self,template):<br />
#try:</p>
<p># keys to template data<br />
DATATYPE_KEY = &#8220;&#8211;datatype=&#8221;<br />
STARTDAY_KEY = &#8220;&#8211;startday=&#8221;<br />
ENDDAY_KEY = &#8220;&#8211;endday=&#8221;<br />
NIGHT_KEY = &#8220;&#8211;night&#8221;<br />
SHORTWEEKDAY_KEY = &#8220;&#8211;shortweekday&#8221;<br />
IMPERIAL_KEY = &#8220;&#8211;imperial&#8221;<br />
HIDEUNITS_KEY = &#8220;&#8211;hideunits&#8221;<br />
SPACES_KEY = &#8220;&#8211;spaces=&#8221;</p>
<p>output = u&#8221;"</p>
<p>optionfound = False</p>
<p>#load the file<br />
try:<br />
fileinput = open(self.options.template)<br />
template = fileinput.read()<br />
fileinput.close()<br />
except:<br />
output = u&#8221;Template file no found!&#8221;</p>
<p>templatelist = self.getTemplateList(template)</p>
<p># lets walk through the template list and determine the output for each item found<br />
for i in range(0,len(templatelist)-1):</p>
<p>pos = templatelist[i].find(DATATYPE_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
pos = pos + len(DATATYPE_KEY)<br />
datatype = templatelist[i][pos:pos+4].strip(&#8221;}&#8221;).strip(&#8221;{&#8221;).strip(&#8221;-&#8221;).strip(&#8221; &#8220;)<br />
else:<br />
datatype = None</p>
<p>pos = templatelist[i].find(STARTDAY_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
pos = pos + len(STARTDAY_KEY)<br />
startday = int(templatelist[i][pos:pos+4].strip(&#8221;}&#8221;).strip(&#8221;{&#8221;).strip(&#8221;-&#8221;).strip(&#8221; &#8220;))<br />
else:<br />
startday = None</p>
<p>pos = templatelist[i].find(ENDDAY_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
pos = pos + len(ENDDAY_KEY)<br />
endday = int(templatelist[i][pos:pos+4].strip(&#8221;}&#8221;).strip(&#8221;{&#8221;).strip(&#8221;-&#8221;).strip(&#8221; &#8220;))<br />
else:<br />
endday = None</p>
<p>pos = templatelist[i].find(NIGHT_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
night = True<br />
else:<br />
night = False</p>
<p>pos = templatelist[i].find(SHORTWEEKDAY_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
shortweekday = True<br />
else:<br />
shortweekday = False</p>
<p>pos = templatelist[i].find(IMPERIAL_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
imperial = True<br />
else:<br />
imperial = False</p>
<p>pos = templatelist[i].find(HIDEUNITS_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
hideunits = True<br />
else:<br />
hideunits = False</p>
<p>pos = templatelist[i].find(SPACES_KEY)<br />
if pos != -1:<br />
optionfound = True<br />
pos = pos + len(SPACES_KEY)<br />
spaces = int(templatelist[i][pos:pos+4].strip(&#8221;}&#8221;).strip(&#8221;{&#8221;).strip(&#8221;-&#8221;).strip(&#8221; &#8220;))<br />
else:<br />
spaces = 1</p>
<p>if optionfound == True:<br />
templatelist[i] = self.getOutputText(datatype,startday,endday,night,shortweekday,imperial,hideunits,spaces)<br />
optionfound = False</p>
<p># go through the list concatenating the output now that it&#8217;s been populated<br />
for item in templatelist:<br />
output = output + item</p>
<p>return output</p>
<p>#except:<br />
#print &#8220;getOutputTextFromTemplate:Unexpected error: &#8220;, sys.exc_info()[0]</p>
<p>def fetchData(self):</p>
<p># always fetch metric data, use conversation functions on this data<br />
file_path_current = self.TEMP_FILEPATH_CURRENT.replace(&#8221;LOCATION&#8221;,self.options.location)<br />
file_path_dayforecast = self.TEMP_FILEPATH_DAYFORECAST.replace(&#8221;LOCATION&#8221;,self.options.location)<br />
file_path_nightforecast = self.TEMP_FILEPATH_NIGHTFORECAST.replace(&#8221;LOCATION&#8221;,self.options.location)</p>
<p>if self.isConnectionAvailable() == False:<br />
if os.path.exists(file_path_current):<br />
RefetchData = False<br />
else: # no connection, no cache, bang!<br />
print &#8220;No internet connection is available and no cached weather data exists.&#8221;<br />
elif self.options.refetch == True:<br />
RefetchData = True<br />
else:<br />
# does the data need retrieving again?<br />
if os.path.exists(file_path_current):<br />
lastmodDate = time.localtime(os.stat(file_path_current)[ST_MTIME])<br />
expiryDate = (datetime.datetime.today() - datetime.timedelta(minutes=self.EXPIRY_MINUTES)).timetuple()</p>
<p>if expiryDate &gt; lastmodDate:<br />
RefetchData = True<br />
else:<br />
RefetchData = False<br />
else:<br />
RefetchData = True</p>
<p># fetch the current conditions data, either from the website or by &#8216;unpickling&#8217;<br />
if RefetchData == True:</p>
<p># obtain current conditions data from xoap service<br />
try:</p>
<p># http://xoap.weather.com/weather/local/UKXX0103?cc=*&amp;dayf=5&amp;link=xoap∏=xoap&amp;par=1061785028&amp;key=e374effbfd74930b</p>
<p>url = &#8216;http://xoap.weather.com/weather/local/&#8217; + self.options.location + &#8216;?cc=*&amp;dayf=8&amp;link=xoap∏=xoap&amp;par=1061785028&amp;key=e374effbfd74930b&amp;unit=m&#8217;<br />
if self.options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;fetching weather data from &#8220;,url</p>
<p>usock = urllib2.urlopen(url)<br />
xml = usock.read()<br />
usock.close()<br />
self.weatherxmldoc = minidom.parseString(xml)<br />
except:<br />
print &#8220;fetchData:Unexpected error: &#8220;, sys.exc_info()[0]<br />
print &#8220;Unable to contact weather source for current conditions&#8221;</p>
<p># tell the user if the location is bad&#8230;<br />
found = xml.find(&#8221;Invalid location provided&#8221;)<br />
if found != -1:<br />
print &#8220;Invalid location provided&#8221;</p>
<p># interrogate weather data, load into class structure and pickle it<br />
try:</p>
<p># prepare weather data lists<br />
self.current_conditions = []<br />
self.day_forecast = []<br />
self.night_forecast = []</p>
<p># collect general data<br />
weather_n = self.weatherxmldoc.documentElement<br />
location_n = weather_n.getElementsByTagName(&#8217;loc&#8217;)[0]<br />
city_n = location_n.getElementsByTagName(&#8217;dnam&#8217;)[0]<br />
city = self.getText(city_n.childNodes)</p>
<p># collect current conditions data<br />
day_of_week = u&#8221;Today&#8221;<br />
precip = u&#8221;N/A&#8221;<br />
sunrise_n = location_n.getElementsByTagName(&#8217;sunr&#8217;)[0]<br />
sunrise = self.getText(sunrise_n.childNodes)<br />
sunset_n = location_n.getElementsByTagName(&#8217;suns&#8217;)[0]<br />
sunset = self.getText(sunset_n.childNodes)<br />
current_condition_n = weather_n.getElementsByTagName(&#8217;cc&#8217;)[0]<br />
current_desc_n = current_condition_n.getElementsByTagName(&#8217;t')[0]<br />
current_desc = self.getText(current_desc_n.childNodes)<br />
current_code_n = current_condition_n.getElementsByTagName(&#8217;icon&#8217;)[0]<br />
current_code = self.getText(current_code_n.childNodes)<br />
current_temp_n = current_condition_n.getElementsByTagName(&#8217;tmp&#8217;)[0]<br />
current_temp = self.getText(current_temp_n.childNodes)<br />
current_temp_feels_n = current_condition_n.getElementsByTagName(&#8217;flik&#8217;)[0]<br />
current_temp_feels = self.getText(current_temp_feels_n.childNodes)<br />
bar_n = current_condition_n.getElementsByTagName(&#8217;bar&#8217;)[0]<br />
bar_read_n = bar_n.getElementsByTagName(&#8217;r')[0]<br />
bar_read = self.getText(bar_read_n.childNodes)<br />
bar_desc_n = bar_n.getElementsByTagName(&#8217;d')[0]<br />
bar_desc = self.getText(bar_desc_n.childNodes)<br />
wind_n = current_condition_n.getElementsByTagName(&#8217;wind&#8217;)[0]<br />
wind_speed_n = wind_n.getElementsByTagName(&#8217;s&#8217;)[0]<br />
wind_speed = self.getText(wind_speed_n.childNodes)<br />
wind_gust_n = wind_n.getElementsByTagName(&#8217;gust&#8217;)[0]<br />
wind_gusts = self.getText(wind_gust_n.childNodes)<br />
wind_dir_n = wind_n.getElementsByTagName(&#8217;d')[0]<br />
wind_direction = self.getText(wind_dir_n.childNodes)<br />
humidity_n = current_condition_n.getElementsByTagName(&#8217;hmid&#8217;)[0]<br />
humidity = self.getText(humidity_n.childNodes)<br />
moon_n = current_condition_n.getElementsByTagName(&#8217;moon&#8217;)[0]<br />
moon_icon_n = moon_n.getElementsByTagName(&#8217;icon&#8217;)[0]<br />
moon_icon = self.getText(moon_icon_n.childNodes)<br />
moon_phase_n = moon_n.getElementsByTagName(&#8217;t')[0]<br />
moon_phase = self.getText(moon_phase_n.childNodes)<br />
current_conditions_data = WeatherData(day_of_week, current_temp_feels, current_temp, current_code, current_desc, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)<br />
self.current_conditions.append(current_conditions_data)</p>
<p># collect forecast data<br />
bar_read = u&#8221;N/A&#8221;<br />
bar_desc = u&#8221;N/A&#8221;<br />
moon_phase = u&#8221;N/A&#8221;<br />
moon_icon = u&#8221;na&#8221;<br />
forecast_n = weather_n.getElementsByTagName(&#8217;dayf&#8217;)[0]<br />
day_nodes = forecast_n.getElementsByTagName(&#8217;day&#8217;)</p>
<p>for day in day_nodes:<br />
day_of_week = day.getAttribute(&#8217;t')<br />
day_of_year = day.getAttribute(&#8217;dt&#8217;)<br />
high_temp_n = day.getElementsByTagName(&#8217;hi&#8217;)[0]<br />
high_temp = self.getText(high_temp_n.childNodes)<br />
low_temp_n = day.getElementsByTagName(&#8217;low&#8217;)[0]<br />
low_temp = self.getText(low_temp_n.childNodes)</p>
<p>sunrise_n = day.getElementsByTagName(&#8217;sunr&#8217;)[0]<br />
sunrise = self.getText(sunrise_n.childNodes)<br />
sunset_n = day.getElementsByTagName(&#8217;suns&#8217;)[0]<br />
sunset = self.getText(sunset_n.childNodes)</p>
<p># day forecast specific data<br />
daytime_n = day.getElementsByTagName(&#8217;part&#8217;)[0] # day<br />
condition_code_n = daytime_n.getElementsByTagName(&#8217;icon&#8217;)[0]<br />
condition_code = self.getText(condition_code_n.childNodes)<br />
condition_n = daytime_n.getElementsByTagName(&#8217;t')[0]<br />
condition = self.getText(condition_n.childNodes)<br />
precip_n = daytime_n.getElementsByTagName(&#8217;ppcp&#8217;)[0]<br />
precip = self.getText(precip_n.childNodes)<br />
humidity_n = daytime_n.getElementsByTagName(&#8217;hmid&#8217;)[0]<br />
humidity = self.getText(humidity_n.childNodes)<br />
wind_n = daytime_n.getElementsByTagName(&#8217;wind&#8217;)[0]<br />
wind_speed_n = wind_n.getElementsByTagName(&#8217;s&#8217;)[0]<br />
wind_speed = self.getText(wind_speed_n.childNodes)<br />
wind_direction_n = wind_n.getElementsByTagName(&#8217;t')[0]<br />
wind_direction = self.getText(wind_direction_n.childNodes)<br />
wind_gusts_n = wind_n.getElementsByTagName(&#8217;gust&#8217;)[0]<br />
wind_gusts = self.getText(wind_gusts_n.childNodes)<br />
day_forecast_data = WeatherData(day_of_week, low_temp, high_temp, condition_code, condition, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)<br />
self.day_forecast.append(day_forecast_data)</p>
<p># night forecast specific data<br />
daytime_n = day.getElementsByTagName(&#8217;part&#8217;)[1] # night<br />
condition_code_n = daytime_n.getElementsByTagName(&#8217;icon&#8217;)[0]<br />
condition_code = self.getText(condition_code_n.childNodes)<br />
condition_n = daytime_n.getElementsByTagName(&#8217;t')[0]<br />
condition = self.getText(condition_n.childNodes)<br />
precip_n = daytime_n.getElementsByTagName(&#8217;ppcp&#8217;)[0]<br />
precip = self.getText(precip_n.childNodes)<br />
humidity_n = daytime_n.getElementsByTagName(&#8217;hmid&#8217;)[0]<br />
humidity = self.getText(humidity_n.childNodes)<br />
wind_n = daytime_n.getElementsByTagName(&#8217;wind&#8217;)[0]<br />
wind_speed_n = wind_n.getElementsByTagName(&#8217;s&#8217;)[0]<br />
wind_speed = self.getText(wind_speed_n.childNodes)<br />
wind_direction_n = wind_n.getElementsByTagName(&#8217;t')[0]<br />
wind_direction = self.getText(wind_direction_n.childNodes)<br />
wind_gusts_n = wind_n.getElementsByTagName(&#8217;gust&#8217;)[0]<br />
wind_gusts = self.getText(wind_gusts_n.childNodes)<br />
night_forecast_data = WeatherData(day_of_week, low_temp, high_temp, condition_code, condition, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)<br />
self.night_forecast.append(night_forecast_data)</p>
<p># pickle the data for next time!<br />
fileoutput = open(file_path_current, &#8216;w&#8217;)<br />
pickle.dump(self.current_conditions,fileoutput)<br />
fileoutput.close()</p>
<p>fileoutput = open(file_path_dayforecast, &#8216;w&#8217;)<br />
pickle.dump(self.day_forecast,fileoutput)<br />
fileoutput.close()</p>
<p>fileoutput = open(file_path_nightforecast, &#8216;w&#8217;)<br />
pickle.dump(self.night_forecast,fileoutput)<br />
fileoutput.close()</p>
<p>except:<br />
print &#8220;fetchData:Unexpected error: &#8220;, sys.exc_info()[0]<br />
print &#8220;Unable to interrogate the weather data&#8221;</p>
<p>else: # fetch weather data from pickled class files<br />
if self.options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;fetching weather data from file: &#8220;,file_path_current</p>
<p>fileinput = open(file_path_current, &#8216;r&#8217;)<br />
self.current_conditions = pickle.load(fileinput)<br />
fileinput.close()</p>
<p>if self.options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;fetching day forecast data from files: &#8220;,file_path_dayforecast, file_path_nightforecast</p>
<p>fileinput = open(file_path_dayforecast, &#8216;r&#8217;)<br />
self.day_forecast = pickle.load(fileinput)<br />
fileinput.close()</p>
<p>if self.options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;fetching day forecast data from files: &#8220;,file_path_nightforecast, file_path_nightforecast</p>
<p>fileinput = open(file_path_nightforecast, &#8216;r&#8217;)<br />
self.night_forecast = pickle.load(fileinput)<br />
fileinput.close()</p>
<p>def outputData(self):<br />
#try:</p>
<p>if self.options.template != None:</p>
<p>output = self.getOutputTextFromTemplate(self.options.template)</p>
<p>else:</p>
<p>output = self.getOutputText(self.options.datatype,self.options.startday,self.options.endday,self.options.night,self.options.shortweekday,self.options.imperial,self.options.hideunits,self.options.spaces)</p>
<p>print output.encode(&#8221;utf-8&#8243;)</p>
<p>#except:<br />
#print &#8220;outputData:Unexpected error: &#8220;, sys.exc_info()[0]</p>
<p>if __name__ == &#8220;__main__&#8221;:</p>
<p>parser = CommandLineParser()<br />
(options, args) = parser.parse_args()</p>
<p>if options.verbose == True:<br />
print &gt;&gt; sys.stdout, &#8220;location:&#8221;,options.location<br />
print &gt;&gt; sys.stdout, &#8220;imperial:&#8221;,options.imperial<br />
print &gt;&gt; sys.stdout, &#8220;datatype:&#8221;,options.datatype<br />
print &gt;&gt; sys.stdout, &#8220;night:&#8221;,options.night<br />
print &gt;&gt; sys.stdout, &#8220;start day:&#8221;,options.startday<br />
print &gt;&gt; sys.stdout, &#8220;end day:&#8221;,options.endday<br />
print &gt;&gt; sys.stdout, &#8220;spaces:&#8221;,options.spaces<br />
print &gt;&gt; sys.stdout, &#8220;verbose:&#8221;,options.verbose<br />
print &gt;&gt; sys.stdout, &#8220;refetch:&#8221;,options.refetch</p>
<p># create new global weather object<br />
weather = GlobalWeather(options)<br />
weather.fetchData()<br />
weather.outputData()</p></blockquote>
<p>Creamos el archivo ~/Conky/scripts/myweather.template</p>
<blockquote><p>gedit ~/Conky/scripts/myweather.template</p></blockquote>
<p>pegamos dentro lo siguiente:</p>
<blockquote><p>{&#8211;datatype=DW &#8211;startday=1}:  {&#8211;datatype=CC &#8211;startday=1}<br />
{&#8211;datatype=HT &#8211;startday=1} / {&#8211;datatype=LT &#8211;startday=1}   Viento del {&#8211;datatype=WD &#8211;startday=1}  a  {&#8211;datatype=WS &#8211;startday=1}<br />
Humedad: {&#8211;datatype=HM &#8211;startday=1}          Precipitacion: {&#8211;datatype=PC &#8211;startday=1}<br />
Salida del Sol: {&#8211;datatype=SR &#8211;startday=1}   Ocaso: {&#8211;datatype=SS &#8211;startday=1}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
{&#8211;datatype=DW &#8211;startday=2}:  {&#8211;datatype=CC &#8211;startday=2}<br />
{&#8211;datatype=HT &#8211;startday=2} / {&#8211;datatype=LT &#8211;startday=2}   Viento del {&#8211;datatype=WD &#8211;startday=2}  a  {&#8211;datatype=WS &#8211;startday=2}<br />
Humedad: {&#8211;datatype=HM &#8211;startday=2}          Precipitacion: {&#8211;datatype=PC &#8211;startday=2}<br />
Salida del Sol: {&#8211;datatype=SR &#8211;startday=2}   Ocaso: {&#8211;datatype=SS &#8211;startday=2}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
{&#8211;datatype=DW &#8211;startday=3}:  {&#8211;datatype=CC &#8211;startday=3}<br />
{&#8211;datatype=HT &#8211;startday=3} / {&#8211;datatype=LT &#8211;startday=3}   Viento del {&#8211;datatype=WD &#8211;startday=3}  a  {&#8211;datatype=WS &#8211;startday=3}<br />
Humedad: {&#8211;datatype=HM &#8211;startday=3}          Precipitacion: {&#8211;datatype=PC &#8211;startday=3}<br />
Salida del Sol: {&#8211;datatype=SR &#8211;startday=3}   Ocaso: {&#8211;datatype=SS &#8211;startday=3}<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
{&#8211;datatype=DW &#8211;startday=4}:  {&#8211;datatype=CC &#8211;startday=4}<br />
{&#8211;datatype=HT &#8211;startday=4} / {&#8211;datatype=LT &#8211;startday=4}   Viento del {&#8211;datatype=WD &#8211;startday=4}  a  {&#8211;datatype=WS &#8211;startday=4}<br />
Humedad: {&#8211;datatype=HM &#8211;startday=4}          Precipitacion: {&#8211;datatype=PC &#8211;startday=4}<br />
Salida del Sol: {&#8211;datatype=SR &#8211;startday=4}   Ocaso: {&#8211;datatype=SS &#8211;startday=4}</p></blockquote>
<p>Creamos el archivo ~/Conky/scripts/mail/conkyEmail.py ( hay que crear la carpeta mail)</p>
<blockquote><p>gedit ~/Conky/scripts/mail/conkyEmail.py</p></blockquote>
<p>y pegamos dentro lo siguiente:</p>
<blockquote><p>import os<br />
import string</p>
<p>#Enter your username and password below within double quotes<br />
# eg. username=&#8221;username&#8221; and password=&#8221;password&#8221;<br />
username=&#8221;<span style="color:#ff0000;">TU_USUARIO_SINARROBA</span>&#8220;<br />
password=&#8221;<span style="color:#0000ff;">TU_CLAVE</span>&#8220;</p>
<p>com=&#8221;wget -O - https://&#8221;+username+&#8221;:&#8221;+password+&#8221;@mail.google.com/mail/feed/atom &#8211;no-check-certificate&#8221;</p>
<p>temp=os.popen(com)<br />
msg=temp.read()<br />
index=string.find(msg,&#8221;&lt;fullcount&gt;&#8221;)<br />
index2=string.find(msg,&#8221;&lt;/fullcount&gt;&#8221;)<br />
fc=int(msg[index+11:index2])</p>
<p>if fc==0:<br />
print &#8220;0 new&#8221;<br />
else:<br />
print str(fc)+&#8221; new&#8221;</p></blockquote>
<p><strong>Asique ahora tenes 7 archivos:</strong></p>
<p>En la carpeta: ~<br />
&#8211;&gt; .startconky &lt;&lt;&#8211; hacer ejecutable</p>
<p>En la carpeta: ~/Conky<br />
&#8211;&gt; conkymain<br />
&#8211;&gt; conkyforecast<br />
&#8211;&gt; conkymail</p>
<p>y en la carpeta: ~/Conky/scripts<br />
&#8211;&gt; conkyForecast.py &lt;&lt;&#8211; hacer ejecutable<br />
&#8211;&gt; myweather.template</p>
<p>y en la carpeta: ~/Conky/scripts/mail<br />
conkyEmail.py &lt;&lt;&#8211; hacer ejecutable</p>
<p>y eso es todo, aclaraciones, donde dice /home/usuario/&#8230;va tu nombre de usuario y en la parte donde van los datos de Gmail, resalté en colores sonde hay que poner tus datos.</p>
<p>para matar el proceso de conky escribe en una consola</p>
<blockquote><p>killall conky</p></blockquote>
<p>para ejecutar conky escribe en una consola</p>
<blockquote><p>./.startconky</p></blockquote>
<p>una vez que tengas todo ajustado, si querés que conky inicie en cada sesión</p>
<p>Sistema&#8212;&gt;Preferencias&#8212;&gt;Sesiones  y en programas de inicio lo añadimos</p>
<p>en Nombre podemos escribir Conky, en Orden ./.startconky con eso se iniciará cada vez que enciendas la pc.</p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/screenshot2.png"><img class="alignnone size-full wp-image-220" src="http://ubunlog.files.wordpress.com/2008/06/screenshot2.png?w=530&h=474" alt="" width="530" height="474" /></a></p>
<p>Eso es todo, espero que les sirva.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/219/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/219/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/219/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/219/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/219/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=219&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/20/conky-mi-configuracion/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/pantallazo.png?w=300" medium="image" />

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/screenshot2.png" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/20/conky-mi-configuracion/</feedburner:origLink></item>
		<item>
		<title>Firefox 3 Final, lanzada</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/314043455/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/17/firefox-3-final-lanzada/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 19:56:22 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Actualizaciones]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Hardy]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Download Day]]></category>

		<category><![CDATA[Final]]></category>

		<category><![CDATA[Firefox 3]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=213</guid>
		<description><![CDATA[
Como ya habíamos dicho hoy es el Donwload Day, acaba de ser lanzada oficialmente la versión final de Firefox 3, seguramente en Hardy, tardaremos en tener esta versión, pero si quieres ayudar a lograr el record, de mayor cantidad de descargas de un programa en 24 hs., solo haz click en los enlaces que dejo [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ubunlog.files.wordpress.com/2008/06/email_header.jpg"><img class="alignnone size-full wp-image-217" src="http://ubunlog.files.wordpress.com/2008/06/email_header.jpg?w=550&h=151" alt="" width="550" height="151" /></a></p>
<p>Como ya <a href="http://ubunlog.wordpress.com/2008/05/29/ayudemos-a-firefox-a-entrar-al-libro-guinness-de-los-records/" target="_blank">habíamos dicho hoy es el Donwload Da</a>y, acaba de ser lanzada oficialmente la versión final de Firefox 3, seguramente en Hardy, <span style="text-decoration:line-through;">tardaremos en tener esta versión</span>, pero si quieres ayudar a lograr el record, de mayor cantidad de descargas de un programa en 24 hs., solo haz click en los enlaces que dejo a continuación.</p>
<blockquote>
<h1 style="color:#2cb3d4;font-size:22px;font-weight:normal;margin-left:20px;margin-top:5px;">Hoy harás historia con Firefox</h1>
<p style="color:#6a0909;margin-left:20px;">
<p style="color:#6a0909;margin-left:20px;">¿Estás preparado para hacer historia? ¿Preparado para conseguir un Récord mundial? Hoy es el Download Day. Para ser parte del récord oficial Guinness, tienes que <a href="http://www.mozilla.com/es/firefox?p=downloadday" target="_blank">descargar Firefox 3</a> antes de las 17:00 GMT del 18 de junio de 2008, o en 24 horas contando desde ahora.</p>
</blockquote>
<p><a href="http://download.mozilla.org/?product=firefox-3.0&amp;os=linux&amp;lang=es-AR" target="_blank">Español (Argentina)</a></p>
<p><a href="http://download.mozilla.org/?product=firefox-3.0&amp;os=linux&amp;lang=es-ES" target="_blank">Español (España)</a></p>
<p><strong>Actualizo</strong>, ya podemos actualizar desde repositorios la versión final, para actualizarlo solo debes tipear en la consola</p>
<blockquote><p>sudo apt-get update</p>
<p>sudo apt-get install firefox-3.0</p></blockquote>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/screenshot12.png"><img class="aligncenter size-medium wp-image-216" src="http://ubunlog.files.wordpress.com/2008/06/screenshot12.png?w=284&h=300" alt="" width="284" height="300" /></a></p>
<p>en <a href="http://downloadcounter.sj.mozilla.com/" target="_blank">esta</a> web se puede ver on-line como va la descarga del navegador, recuerda que para el record solo cuentan las bajadas desde la página web de mozilla.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/213/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/213/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/213/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/213/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/213/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=213&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/17/firefox-3-final-lanzada/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/email_header.jpg" medium="image" />

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/screenshot12.png?w=284" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/17/firefox-3-final-lanzada/</feedburner:origLink></item>
		<item>
		<title>Pegar archivos como root en Nautilus</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/313051657/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/16/pegar-archivos-como-root-en-nautilus/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 14:09:02 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Gnome]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[nautilus]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=211</guid>
		<description><![CDATA[
Acabo de leer sobre esta función en Genbeta como pueden ver en la imagen se trata de copiar un archivo como usuario normal y pegarlo como root, una acción para Nautilus, creada por JavierLinux ,pueden leer el post completo aquí
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ubunlog.files.wordpress.com/2008/06/nautilus-pegar-como-root.jpg"><img class="alignnone size-full wp-image-212" src="http://ubunlog.files.wordpress.com/2008/06/nautilus-pegar-como-root.jpg?w=500&h=353" alt="" width="500" height="353" /></a></p>
<p>Acabo de leer sobre esta función en <a href="http://genbeta.com" target="_blank">Genbeta</a> como pueden ver en la imagen se trata de copiar un archivo como usuario normal y pegarlo como root, una acción para Nautilus, creada por <a href="http://www.javielinux.com/" target="_blank">JavierLinux</a> ,pueden leer el post completo <a href="http://www.genbeta.com/2008/06/16-genbeta-responde-como-pegar-archivos-con-permisos-de-superusuario-en-nautilus" target="_blank">aquí</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/211/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/211/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=211&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/16/pegar-archivos-como-root-en-nautilus/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/nautilus-pegar-como-root.jpg" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/16/pegar-archivos-como-root-en-nautilus/</feedburner:origLink></item>
		<item>
		<title>Wicd, gestiona facilmente tu conexión wireless</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/310892677/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/13/wicd-gestiona-facilmente-tu-conexion-wireless/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 04:15:04 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Gnome]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Aplicaciones]]></category>

		<category><![CDATA[Red]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=209</guid>
		<description><![CDATA[Algo que me pasaba cuando configuré la conexión wireles de la notebook era que cada vez que iniciaba Ubuntu al querer conectarme Network-Manager me pedía la clave de administrador para desbloquear el anillo.
Al parecer este es un mal común para los usuarios de Gnome, Network-Manager no es el mejor administrador de redes wifi,si hacemos una [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Algo que me pasaba cuando configuré la conexión wireles de la notebook era que cada vez que iniciaba Ubuntu al querer conectarme Network-Manager me pedía la clave de administrador para desbloquear el anillo.</p>
<p>Al parecer este es un mal común para los usuarios de Gnome, Network-Manager no es el mejor administrador de redes wifi,si hacemos una busqueda en Google, los <a href="http://www.google.com.ar/search?q=alternativas+a+network+manager&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=com.ubuntu:es-AR:unofficial&amp;client=firefox-a" target="_blank">resultados</a> dan como alternativa mas usada <a href="http://wicd.sourceforge.net/" target="_blank">Wicd</a> un reemplazo muy eficiente de nuestro Network-Manager en Gnome.</p>
<p>La instalación es sencilla para los usuarios de Ubuntu ya que contamos con repositorios para nuestra distribución, lo que hay que hacer es ir a <strong>Sistema/Administración/Gestor de paquetes Synaptic</strong>, una vez abierto vamos a <strong>Configuración/Repositorios/Software de Terceros/Añadir&#8230;</strong> y agregamos la siguente línea:</p>
<blockquote><p>deb http://apt.wicd.net hardy extras</p></blockquote>
<p>Recargamos Synaptic y buscamos Wicd, seleccionamos para instalar y aplicamos, esta opción desintala también Network-Manager, seguramente nos quedaremos sin red cuando esto suceda, y desaparecerá claro está, porque lo desintalamos, el icono de Network-Manager de la barra de tareas, para que nos aparezca el icono de Wicd al iniciar sesión, vamos a <strong>Sistema/Preferencias/Sesiones</strong>, en la pestaña <strong>Programas al inicio</strong>, hacemos click en <strong>Añadir</strong>, en el primer casillero podemos poner Wicd o el nombre que quieras, en el segundo ponemos <strong>/opt/wicd/tray.py</strong></p>
<p>Reiniciamos, y ya tenemos activado Wicd, asi se ve en la barra de tareas.</p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/pantallazo1.png"><img class="alignnone size-full wp-image-206" src="http://ubunlog.files.wordpress.com/2008/06/pantallazo1.png?w=309&h=99" alt="" width="309" height="99" /></a></p>
<p>Estas son las señales wireless que detecta la notebook, la mas potente es la mía y la más debil ha de ser de algún vecino muy confiado el porque ni clave le puso <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager.png"><img class="alignnone size-full wp-image-207" src="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager.png?w=400&h=276" alt="" width="400" height="276" /></a></p>
<p>Estas son las opciones de configuracion de las conexiones inalambricas</p>
<p><a href="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager-1.png"><img class="alignnone size-full wp-image-208" src="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager-1.png?w=400&h=348" alt="" width="400" height="348" /></a></p>
<p>Wicd también administra conexiones de red por cable, no tiene dependencias con Gnome, y es compatible también otros entornos de escritorio, XFCE, Fluxbox, Openbox, Enlightenment, etc.</p>
<p>Mas Información en la <a href="http://wicd.sourceforge.net/" target="_blank">Página Oficial</a> del proyecto</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/209/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/209/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=209&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/13/wicd-gestiona-facilmente-tu-conexion-wireless/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/pantallazo1.png" medium="image" />

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager.png" medium="image" />

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/pantallazo-wicd-manager-1.png" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/13/wicd-gestiona-facilmente-tu-conexion-wireless/</feedburner:origLink></item>
		<item>
		<title>Compaq F755la activar wireless</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/309546680/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/11/compaq-f755la-activar-wireless/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 11:01:43 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Hardy]]></category>

		<category><![CDATA[How to]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[atheros]]></category>

		<category><![CDATA[compaq f755la]]></category>

		<category><![CDATA[wifi]]></category>

		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=203</guid>
		<description><![CDATA[
Hace cosa de un mes me compré una notebook Compaq F755la,  viene con Windows Vista preinstalado, rápidamente  le hice un lugarcito  en  el disco rígido  y le instalé  Ubuntu 8.04 ,  todo salió bien,  reconoció  la placa de video, la de sonido, la cámara web ,excepto [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ubunlog.files.wordpress.com/2008/06/madwifi-logo-20070907.png"><img class="alignnone size-full wp-image-204" src="http://ubunlog.files.wordpress.com/2008/06/madwifi-logo-20070907.png?w=310&h=84" alt="" width="310" height="84" /></a></p>
<p>Hace cosa de un mes me compré una notebook Compaq F755la,  viene con Windows Vista preinstalado, rápidamente  le hice un lugarcito  en  el disco rígido  y le instalé  Ubuntu 8.04 ,  todo salió bien,  reconoció  la placa de video, la de sonido, la cámara web ,excepto  la  placa  wireless que no aparecía.</p>
<p>Me puse a investigar y di con un post en <a href="http://www.ubuntu-es.org/index.php?q=node/83054" target="_blank">Ubuntu -ES</a>, que instala los drivers de <a href="http://madwifi.org/" target="_blank">Madwifi</a> el cual solucionó el problema,  dos aclaraciones antes de pegar  el procedimiento que seguí,<em> la luz de la placa wireless aunque esté encendida, nunca cambia de color</em>, <em>siempre queda en rojo</em> y la otra <em>cada vez que haya una actualización de el kernel, nuestra placa dejará de funcionar</em>, por lo que tendremos que volver a repetir el procedimiento para activarla nuevamente.</p>
<p>Si tipeamos en consola el comando </p>
<blockquote><p>lspci | grep Wireless</p></blockquote>
<p>y nos devuelve lo siguiente:</p>
<blockquote><p>Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)</p></blockquote>
<p>Entonces este procedimiento y el driver que bajamos sirve para nosotros, copio y pego el procedimiento seguido.</p>
<blockquote><p>1- Bajás el driver de <a href="http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz" target="_blank">acá</a></p>
<p>Lo que sigue desde un terminal :</p>
<p>2- Instalás lo necesario para compilar el driver con:</p>
<p>$ sudo apt-get install build-essential linux-headers-`uname -r`</p>
<p>3- Extraés los archivos que habías bajado:</p>
<p>$ sudo tar -xzvf /directorio_en_el_que_lo_guardaste/madwifi-nr-r3366+ar5007.tar.gz</p>
<p>4- Te movés al nuevo directorio:</p>
<p>$ cd /directorio_donde_descomprimiste/madwifi-nr-r3366+ar5007</p>
<p>5- Compilás:</p>
<p>$ sudo make</p>
<p>6- Borrás posibles instalaciones anteriores de Madwifi:</p>
<p>$ sudo rm -rf /lib/modules/`uname -r`/madwifi</p>
<p>7- Instalás el driver:</p>
<p>$ sudo make install</p>
<p>8- Reiniciás</p></blockquote>
<p>Listo ya tengo mi placa wireless funcionado en Ubuntu 8.04 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/203/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/203/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/203/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=203&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/11/compaq-f755la-activar-wireless/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/madwifi-logo-20070907.png" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/11/compaq-f755la-activar-wireless/</feedburner:origLink></item>
		<item>
		<title>Firefox 3 RC1 en español, en Ubuntu 8.04</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/308698148/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/10/firefox-3-rc1-en-espanol/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 09:26:59 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Actualizaciones]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Mozilla]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[Firefox 3]]></category>

		<category><![CDATA[RC1]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=201</guid>
		<description><![CDATA[Ayer me apareció la opción de actualizar la beta 5 de Firefox 3 en Ubuntu 8.04, luego de la instalación al reiniciar el navegador para mi sorpresa me encontré con que se me había pasado al idioma inglés, buscando en los foros de Ubuntu-Argentina encontré la solución, que es bajar una extensión para pasarlo a [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ayer me apareció la opción de actualizar la beta 5 de Firefox 3 en Ubuntu 8.04, luego de la instalación al reiniciar el navegador para mi sorpresa me encontré con que se me había pasado al idioma inglés, buscando en los foros de <a href="http://ubuntu-ar.org/" target="_blank">Ubuntu-Argentina</a> encontré la solución, que es bajar una extensión para pasarlo a nuestro idioma, los links son los siguientes:</p>
<p><a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0rc1/linux-i686/xpi/es-ES.xpi" target="_blank">Español-España</a></p>
<p><a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0rc1/linux-i686/xpi/es-AR.xpi" target="_blank">Español-Argentina</a></p>
<p>Solo queda bajar la extensión, instalarla y luego de reiniciado FF tendremos nuevamente nuestro navegador en nuestro idioma.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/201/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/201/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=201&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/10/firefox-3-rc1-en-espanol/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/10/firefox-3-rc1-en-espanol/</feedburner:origLink></item>
		<item>
		<title>Linux Mint 5 “Elyssa”, lanzada</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/308033281/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/09/linux-mint-5-elyssa-lanzada/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 13:49:04 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Distribuciones]]></category>

		<category><![CDATA[Hardy]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Noticias]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[lanzamientos]]></category>

		<category><![CDATA[Linux Mint]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=198</guid>
		<description><![CDATA[
Linux Mint es una distribución del sistema operativo GNU/Linux, el cual posee la propuesta de &#8220;producir un escritorio elegante, actualizado y cómodo de GNU/Linux&#8221;. Linux Mint está basada en Ubuntu, es compatible con ésta última y comparte los mismos repositorios.
La versión 5 &#8220;Elyssa&#8221; disponible ya para su descarga se basa en Ubuntu 8.04 Hardy Heron, [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img style="vertical-align:baseline;" src="http://www.linuxmint.com/pictures/screenshots/elyssa/elyssa.png" alt="Elyssa" width="640" height="480" /></p>
<p><strong>Linux Mint</strong> es una distribución del <span class="mw-redirect">sistema operativo</span> GNU/Linux, el cual posee la propuesta de <em>&#8220;producir un escritorio elegante, actualizado y cómodo de GNU/Linux&#8221;</em>. <strong>Linux Mint</strong> está basada en Ubuntu, es compatible con ésta última y comparte los mismos repositorios.</p>
<p>La versión 5 &#8220;Elyssa&#8221; <a href="http://www.linuxmint.com/mirrors.php?id=25" target="_blank">disponible ya para su descarga</a> se basa en Ubuntu 8.04 Hardy Heron, entre sus novedades se destacan.</p>
<ul>
<li><strong>mintMenu</strong><br />
Podemos desinstalar facilmente cualquier programa de Linux desde el mintmenu sin abrir Synaptic o una terminal, solo con un click con el botón secundario.</li>
</ul>
<p><img src="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/easyuninstall.png" alt="" width="400" height="252" /></p>
<ul>
<li><strong>mintUpdate</strong><br />
Ahora la nueva versión de MintUpdate ofrece mayor transparencia para mostrar información, acerca de los procesos que realiza, el autorefresh&#8221;" es más flexible.</li>
</ul>
<p><img src="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintupdate-info.png" alt="" width="400" height="274" /></p>
<ul>
<li><strong>mintInstall</strong><br />
Ahora se puede elegir entre los repositorios de Linux Mint y los oficiales de Ubuntu.</li>
</ul>
<p><img src="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintinstall-local.png" alt="" width="400" height="230" /></p>
<ul>
<li><strong>mintBackup</strong><br />
La nueva herramienta que nos permite hacer copias de seguridad de nuestra carpeta <code>Home</code>.</li>
</ul>
<p><img src="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintbackup.png" alt="" width="400" height="375" /></p>
<p>Más datos sobre esta versión en el <a href="http://www.linuxmint.com/blog/?p=185" target="_blank">Blog oficial de la distribución</a> , tal vez la instale para probarla en un disco que tengo abandonado por ahí <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Fuentes: <a href="http://www.vivalinux.com.ar/" target="_blank">Viva Linux</a> , <a href="http://www.linuxmint.com/blog/?p=185" target="_blank">The Linux Mint Blog</a> , <a href="http://alinuxblog.wordpress.com/" target="_blank">A non-geek&#8217;s linux notes</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/198/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/198/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/198/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=198&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/09/linux-mint-5-elyssa-lanzada/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://www.linuxmint.com/pictures/screenshots/elyssa/elyssa.png" medium="image">
			<media:title type="html">Elyssa</media:title>
		</media:content>

		<media:content url="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/easyuninstall.png" medium="image" />

		<media:content url="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintupdate-info.png" medium="image" />

		<media:content url="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintinstall-local.png" medium="image" />

		<media:content url="http://www.linuxmint.com/pictures/screenshots/elyssa/thumbnails/mintbackup.png" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/09/linux-mint-5-elyssa-lanzada/</feedburner:origLink></item>
		<item>
		<title>Mark Shuttleworth estará en Buenos Aires en Agosto</title>
		<link>http://feeds.feedburner.com/~r/Ubunlog/~3/306058495/</link>
		<comments>http://ubunlog.wordpress.com/2008/06/06/mark-shuttleworth-estara-en-buenos-aires-en-agosto/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 12:09:32 +0000</pubDate>
		<dc:creator>ubunlog</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Noticias]]></category>

		<category><![CDATA[Software Libre]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<category><![CDATA[CafeLug]]></category>

		<category><![CDATA[JRSL]]></category>

		<guid isPermaLink="false">http://ubunlog.wordpress.com/?p=192</guid>
		<description><![CDATA[
CafeLug está organizando las 8° Jornadas Regionales de Software Libre, será los días 20,21y 22 de Agosto de este año, los invitados (entre otros) confirmados serán Mark Shuttleworth (presidente de Canonical e inspirador de Ubuntu Linux) y Jon Maddog Hall (presidente de Linux International)
Mas información en el sitio del evento
      [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ubunlog.files.wordpress.com/2008/06/splash-home-es.jpg"><img class="alignnone size-medium wp-image-193" src="http://ubunlog.files.wordpress.com/2008/06/splash-home-es.jpg?w=300&h=81" alt="" width="300" height="81" /></a></p>
<p><a href="http://www.cafelug.org.ar" target="_blank">CafeLug</a> está organizando las 8° Jornadas Regionales de Software Libre, será los días 20,21y 22 de Agosto de este año, los <a href="http://jornadas.cafelug.org.ar/8/es/invitados/" target="_blank">invitados</a> (entre otros) confirmados serán Mark Shuttleworth (presidente de Canonical e inspirador de Ubuntu Linux) y Jon Maddog Hall (presidente de Linux International)</p>
<p>Mas información en el <a href="http://jornadas.cafelug.org.ar/8/es/home.php" target="_blank">sitio del evento</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ubunlog.wordpress.com/192/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ubunlog.wordpress.com/192/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ubunlog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ubunlog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ubunlog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ubunlog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ubunlog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ubunlog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ubunlog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ubunlog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ubunlog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ubunlog.wordpress.com/192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ubunlog.wordpress.com&blog=3273720&post=192&subd=ubunlog&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ubunlog.wordpress.com/2008/06/06/mark-shuttleworth-estara-en-buenos-aires-en-agosto/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/ubunblog-128.jpg" medium="image">
			<media:title type="html">ubunlog</media:title>
		</media:content>

		<media:content url="http://ubunlog.files.wordpress.com/2008/06/splash-home-es.jpg?w=300" medium="image" />
	<feedburner:origLink>http://ubunlog.wordpress.com/2008/06/06/mark-shuttleworth-estara-en-buenos-aires-en-agosto/</feedburner:origLink></item>
	</channel>
</rss>
