<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Veinti1</title>
	<atom:link href="http://veinti1.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://veinti1.com</link>
	<description>.. mi pequeña guarida ..</description>
	<lastBuildDate>Fri, 23 Mar 2012 09:23:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Soporte Access-Control-Allow-Origin en Apache</title>
		<link>http://veinti1.com/soporte-access-control-allow-origin-en-apache/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=soporte-access-control-allow-origin-en-apache</link>
		<comments>http://veinti1.com/soporte-access-control-allow-origin-en-apache/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 19:09:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[servidores]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=259</guid>
		<description><![CDATA[Por motivos de seguridad Apache viene configurado por defecto para no permitir peticiones en función de su origen. En mi caso el problema me vino cuando quería consultar una API en un servidor directamente desde JavaScript, así que tuve que configurar lo siguiente: Dentro de los tags Directory indicamos que el directorio tiene permitido acceder [...]]]></description>
			<content:encoded><![CDATA[<p>Por motivos de seguridad Apache viene configurado por defecto para no permitir peticiones en función de su origen.<br />
En mi caso el problema me vino cuando quería consultar una API en un servidor directamente desde JavaScript, así que tuve que configurar lo siguiente:</p>
<p>Dentro de los tags Directory indicamos que el directorio tiene permitido acceder desde cualquier origen:<br />
<code>Header set Access-Control-Allow-Origin "*"</code></p>
<p>Habilitamos el módulo mod_headers:<br />
<code>a2enmod headers</code></p>
<p>Y reiniciamos Apache:<br />
<code>service apache2 restart</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/soporte-access-control-allow-origin-en-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Christmas is Coming &#8230;</title>
		<link>http://veinti1.com/christmas-is-coming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=christmas-is-coming</link>
		<comments>http://veinti1.com/christmas-is-coming/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 14:16:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=249</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://veinti1.com/wp-content/uploads/2011/12/sketchy-santa-fails-sketchy-santas-please-put-a-penny-in-the-old-starks-hat.jpg"><img src="http://veinti1.com/wp-content/uploads/2011/12/sketchy-santa-fails-sketchy-santas-please-put-a-penny-in-the-old-starks-hat.jpg" alt="" title="sketchy-santa-fails-sketchy-santas-please-put-a-penny-in-the-old-starks-hat" width="500" height="666" class="aligncenter size-full wp-image-250" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/christmas-is-coming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prestashop &#8211; Precios decrecientes &#8211; mostrar precios reales, sin diferencia</title>
		<link>http://veinti1.com/prestashop-precios-decrecientes-mostrar-precios-reales/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=prestashop-precios-decrecientes-mostrar-precios-reales</link>
		<comments>http://veinti1.com/prestashop-precios-decrecientes-mostrar-precios-reales/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 17:30:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[prestashop]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=245</guid>
		<description><![CDATA[Prestashop por defecto muestra la diferencia entre el precio unitario de un articulo con el precio de la compra de cantidades superiores, el cambio que he llevado a cabo es solo para mostrar el precio que tendría para las diferentes cantidades de artículos, no la diferencia. Lo he llevado a cabo modificando la plantilla directamente, [...]]]></description>
			<content:encoded><![CDATA[<p>Prestashop por defecto muestra la diferencia entre el precio unitario de un articulo con el precio de la compra de cantidades superiores, el cambio que he llevado a cabo es solo para mostrar el precio que tendría para las diferentes cantidades de artículos, no la diferencia.<br />
Lo he llevado a cabo modificando la plantilla directamente, es un pequeño cambio que quizás ahorre tiempo a alguien en un futuro.</p>
<p>No he tenido en cuenta ninguna tasa adicional, puesto que yo no las uso.</p>
<p>fichero:themes/prestashop/product.tpl linea 396</p>
<p><code><br />
{if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}<br />
Introducimos esta linea entre la sentencia if-> {convertPrice price = $product->specificPrice.price|floatval - $quantity_discount.real_value|floatval}<br />
{else}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/prestashop-precios-decrecientes-mostrar-precios-reales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regenerar miniaturas &#8211; Prestashop</title>
		<link>http://veinti1.com/regenerar-miniaturas-prestashop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=regenerar-miniaturas-prestashop</link>
		<comments>http://veinti1.com/regenerar-miniaturas-prestashop/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 12:31:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[prestashop]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=242</guid>
		<description><![CDATA[Prestashop cuenta con una funcionalidad para regenerar las miniaturas que genera por cada imagen automaticamente unas copias de ella misma en diferentes resoluciones, el problema es que si estas ya se encuentran creadas no las sobreescribe, pero esto tiene fácil solución si localizamos donde comprueba en el código si existe previamente. Para la versión, 1.4.3, [...]]]></description>
			<content:encoded><![CDATA[<p>Prestashop cuenta con una funcionalidad para regenerar las miniaturas que genera por cada imagen automaticamente unas copias de ella misma en diferentes resoluciones, el problema es que si estas ya se encuentran creadas no las sobreescribe, pero esto tiene fácil solución si localizamos donde comprueba en el código si existe previamente.</p>
<p>Para la versión, 1.4.3, comentad las lineas 315, 316 y 317<br />
File: admin/tabs/AdminImages.php<br />
<code><br />
linea 315: //if (!file_exists($newDir))<br />
linea 316: //      continue;<br />
linea 317: //if (!file_exists($newDir.substr($image, 0, -4).'-'.stripslashes($imageType['name']).'.jpg'))<br />
linea 318: if (!imageResize($dir.$image, $newDir.substr($image, 0, -4).'-'.stripslashes($imageType['name']).'.jpg', (int)($imageType['width']), (int)($imageType['height'])))</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/regenerar-miniaturas-prestashop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script bash &#8211; busca el archivo más nuevo por directorio</title>
		<link>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-bash-busca-el-archivo-mas-nuevo-por-directorio</link>
		<comments>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 07:36:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=239</guid>
		<description><![CDATA[Este script, lo he utilizado para revisar cada cuanto tiempo se llevaba a cabo las copias de seguridad de los usuarios del sistema. El funcionamiento es bien sencillo, en un directorio madre, busca en sus subdirectorios el archivo más nuevo y lo guarda en un fichero, de esta forma podemos saber hace cuanto que no [...]]]></description>
			<content:encoded><![CDATA[<p>Este script, lo he utilizado para revisar cada cuanto tiempo se llevaba a cabo las copias de seguridad de los usuarios del sistema. El funcionamiento es bien sencillo, en un directorio madre, busca  en sus subdirectorios el archivo más nuevo y lo guarda en un fichero, de esta forma podemos saber hace cuanto que no ingresa ningún nuevo archivo a una carpeta determinada.</p>
<p>En mi caso, tengo un segundo script que lee este fichero y en función de un tiempo determinado alerta al usuario de que debería de realizar un Backup, pero es simplemente un uso que podemos darle.</p>
<p><code><br />
#!/bin/bash<br />
FILE=/home/datesBackup.txt<br />
rm $FILE<br />
#Borro el fichero antes de comenzar<br />
for i in `ls -l /home | gawk '{print $8}'`<br />
do<br />
        find /home/$i -type f | xargs ls -alt | head -n 1 | gawk '{print $3, $6}' >> $FILE |  grep -v 'ls:'  | grep -v 'xargs:'<br />
done<br />
#Listo todos los directorios de /home y almaceno en la variable i<br />
#Por cada un o de ellos busco el más nuevo y lo empipo al Fichero que antes borramos, filtrando posibles errores<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/script-bash-busca-el-archivo-mas-nuevo-por-directorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Las tendencias suicidas de aptitude</title>
		<link>http://veinti1.com/las-tendencias-suicidas-de-aptitude/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=las-tendencias-suicidas-de-aptitude</link>
		<comments>http://veinti1.com/las-tendencias-suicidas-de-aptitude/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 19:00:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=236</guid>
		<description><![CDATA[Ya ha dejado de sorprenderme las temibles dependencias que puede llevar consigo el software más &#8216;mindudi&#8217; de un sistema Ubuntu, pero querer hacerse un Harakiri al estilo Japonés me parece demasiado. Los siguientes paquetes se ELIMINARÃN: evolution-documentation-es g++-4.3 gimp-help-es imagemagick-doc language-support-translations-es libadns1 libboost-python1.34.1 libmagick++1 libphonon4 libqt4-opengl libqt4-qt3support libsilcclient-1.1-3 libstdc++6-4.3-dev libzephyr4 linux-headers-2.6.28-19 linux-headers-2.6.28-19-generic menu obexd-client openoffice.org-help-es [...]]]></description>
			<content:encoded><![CDATA[<p>Ya ha dejado de sorprenderme las temibles dependencias que puede llevar consigo el software más &#8216;mindudi&#8217; de un sistema Ubuntu, pero querer hacerse un Harakiri al estilo Japonés me parece demasiado.<br />
<code><br />
Los siguientes paquetes se ELIMINARÃN:<br />
  evolution-documentation-es g++-4.3 gimp-help-es imagemagick-doc language-support-translations-es libadns1 libboost-python1.34.1 libmagick++1 libphonon4 libqt4-opengl libqt4-qt3support libsilcclient-1.1-3 libstdc++6-4.3-dev libzephyr4<br />
  linux-headers-2.6.28-19 linux-headers-2.6.28-19-generic menu obexd-client openoffice.org-help-es openoffice.org-l10n-es phonon phonon-backend-gstreamer qt4-qtconfig thunderbird-locale-es-ar thunderbird-locale-es-es<br />
0 actualizados, 0 se instalarÃ¡n, 25 para eliminar y 4 no actualizados.<br />
Se liberarÃ¡n 180MB despuÃ©s de esta operaciÃ³n.<br />
Â¿Desea continuar [S/n]? n<br />
Abortado.<br />
denis@denis-logco:~$ uname -a<br />
Linux denis-logco 2.6.28-19-generic #66-Ubuntu SMP Sat Oct 16 17:39:04 UTC 2010 i686 GNU/Linux<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/las-tendencias-suicidas-de-aptitude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para hacer Mailing en Python</title>
		<link>http://veinti1.com/script-para-hacer-mailing-en-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-para-hacer-mailing-en-python</link>
		<comments>http://veinti1.com/script-para-hacer-mailing-en-python/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 17:48:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=225</guid>
		<description><![CDATA[Mucho tiempo después vuelvo a compartir algo a través de este triste Blog, justo el día antes de irme de vacaciones, y con la intención de una vez que vuelva de las mismas dedicarle un poco más de tiempo, ya que me voy haciendo mayor y los escasos 140 caracteres de twitter se me empiezan [...]]]></description>
			<content:encoded><![CDATA[<p>Mucho tiempo después vuelvo a compartir algo a través de este triste Blog, justo el día antes de irme de vacaciones, y con la intención de una vez que vuelva de las mismas dedicarle un poco más de tiempo, ya que me voy haciendo mayor y los escasos 140 caracteres de twitter se me empiezan a quedar cortos.</p>
<p>El tema es que hace unos días me puse manos a la obra a instalar una herramienta para hacer mailing y mientras buscaba pensaba en lo fácil que sería programarlo con Python, así que después de no encontrar nada que mereciera la pena, me puse a tirar lineas y en apenas un par de horas ya lo tenía, Python es maravilloso <img src='http://veinti1.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , así que con una sonrisa que aún dura, os dejo el código por si sirviera a alguien de ayuda en un futuro, y una buena manera de tenerlo yo siempre a mano.</p>
<p>Decir que el envío lo hago a través de Gmail de una cuenta legítima para evitar que sea catalogado como SPAM y el envío se hace cada 5 segundos para evitar que Gmail nos bloquee. Así que no está preparado para enviar grandes volúmenes. </p>
<p>init.py</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python</span>
<span style="color: #808080; font-style: italic;">#Script for Mailing</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> sqlite3
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">smtplib</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">time</span>
<span style="color: #ff7700;font-weight:bold;">from</span> GmailMail <span style="color: #ff7700;font-weight:bold;">import</span> GmailMail
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> initDb<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
	conn = sqlite3.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'db.sqlite'</span><span style="color: black;">&#41;</span>
	c = conn.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;"># Drop and Create table</span>
	<span style="color: #ff7700;font-weight:bold;">try</span>:
		c.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">''</span><span style="color: #483d8b;">'DROP table user'</span><span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">except</span>:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;No existe tabla user previamente&quot;</span>
	c.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">''</span><span style="color: #483d8b;">'create table user
	(id integer, name text, surname text,
	 email text, send integer)'</span><span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;"># Insert a row of data</span>
	fd = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;datos.txt&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
	i=<span style="color: #ff4500;">0</span>
	<span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> fd:
	   	datos = line.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: black;">&#41;</span>
		c.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;insert into user values (&quot;</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot;, '&quot;</span> + datos<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>+ <span style="color: #483d8b;">&quot;' , '&quot;</span> + datos<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span> + <span style="color: #483d8b;">&quot;', '&quot;</span> + datos<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span> +<span style="color: #483d8b;">&quot;',0)&quot;</span><span style="color: black;">&#41;</span>
		conn.<span style="color: black;">commit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
	   	<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot;:  &quot;</span> + datos<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> + <span style="color: #483d8b;">&quot;  &quot;</span> + datos<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>
		i = i+<span style="color: #ff4500;">1</span>
	fd.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	conn.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">def</span> connDB<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
	<span style="color: #ff7700;font-weight:bold;">return</span> sqlite3.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'db.sqlite'</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> closeDB<span style="color: black;">&#40;</span>conn<span style="color: black;">&#41;</span>:
	conn.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> getAllDB<span style="color: black;">&#40;</span>conn<span style="color: black;">&#41;</span>:
	c = conn.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	c.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">''</span><span style="color: #483d8b;">'select * from user WHERE send=0'</span><span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span>
	arr = c
	<span style="color: #ff7700;font-weight:bold;">return</span> arr
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> updateRegister<span style="color: black;">&#40;</span><span style="color: #008000;">id</span>,conn<span style="color: black;">&#41;</span>:
	c = conn.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	c.<span style="color: black;">execute</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;UPDATE user SET send=1 WHERE id=&quot;</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #008000;">id</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
	conn.<span style="color: black;">commit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> composeContent<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
	f = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;email.txt&quot;</span><span style="color: black;">&#41;</span>	
	content=f.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">decode</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;utf8&quot;</span><span style="color: black;">&#41;</span>
	f.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> content
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> sendDB<span style="color: black;">&#40;</span>subject, content, search<span style="color: black;">&#41;</span>:
	conn = connDB<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">try</span>:
		m = GmailMail<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;usuario@gmail.com&quot;</span>, <span style="color: #483d8b;">&quot;password&quot;</span><span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">except</span>:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Error SMTP&quot;</span>, <span style="color: #dc143c;">sys</span>.<span style="color: black;">exc_info</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
		<span style="color: #ff7700;font-weight:bold;">raise</span>
&nbsp;
	c=getAllDB<span style="color: black;">&#40;</span>conn<span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> c:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Durmiendo cinco segundo para no saturar Gmail&quot;</span>
		<span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">5</span><span style="color: black;">&#41;</span>
		<span style="color: #ff7700;font-weight:bold;">try</span>:
                        content=composeContent<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
			<span style="color: #dc143c;">email</span>=row<span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span>	
			content = content.<span style="color: black;">replace</span><span style="color: black;">&#40;</span>search, row<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
			m.<span style="color: black;">send</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">email</span>, subject, content<span style="color: black;">&#41;</span>
			updateRegister<span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, conn<span style="color: black;">&#41;</span>
			<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot;  Enviado email a &quot;</span> + row<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span> + <span style="color: #483d8b;">&quot; email : &quot;</span> + <span style="color: #dc143c;">email</span>
		<span style="color: #ff7700;font-weight:bold;">except</span>:
			<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Error id: &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>, <span style="color: #dc143c;">sys</span>.<span style="color: black;">exc_info</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	closeDB<span style="color: black;">&#40;</span>conn<span style="color: black;">&#41;</span>		
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:
&nbsp;
&nbsp;
	<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>==<span style="color: #483d8b;">&quot;initDb&quot;</span>:
		initDb<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>==<span style="color: #483d8b;">&quot;run&quot;</span>:
&nbsp;
		subject=u<span style="color: #483d8b;">&quot;Asunto del email&quot;</span>
		search=<span style="color: #483d8b;">&quot;$nombre&quot;</span>
&nbsp;
		sendDB<span style="color: black;">&#40;</span>subject, <span style="color: #483d8b;">&quot;&quot;</span>, search<span style="color: black;">&#41;</span>
	<span style="color: #ff7700;font-weight:bold;">else</span>:
		<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;&quot;&quot;
			[+] initDb: Vuelca el contenido del fichero datos.txt a db.sqlite
			[+] run: Empieza el envio de mailing
		&quot;&quot;&quot;</span></pre></td></tr></table></div>

<p>datos.txt<br />
<code><br />
nombre1 ape1 email<br />
nombre2 ape2 email<br />
</code></p>
<p>email.txt<br />
<code><br />
Estimado $nombre:</p>
<p>bla bla bla<br />
bla bla bla<br />
bla bla blas<br />
</code></p>
<p>GmailMail.py, por no complicarme con la codificación al final opté por esta clase que robé de internet.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># requires Python &gt;= 2.5</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">smtplib</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">multipart</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEMultipart
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">base</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEBase
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">text</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEText
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">audio</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEAudio
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">mime</span>.<span style="color: black;">image</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEImage
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">encoders</span> <span style="color: #ff7700;font-weight:bold;">import</span> encode_base64
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">mimetypes</span> <span style="color: #ff7700;font-weight:bold;">import</span> guess_type
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span> <span style="color: #ff7700;font-weight:bold;">import</span> basename
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> GmailMail<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, gmail_user, gmail_pwd<span style="color: black;">&#41;</span>:
        <span style="color: #483d8b;">&quot;&quot;&quot;
        Prepares an instance with basic authentication
&nbsp;
        &quot;&quot;&quot;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">gmail_user</span> = gmail_user
        <span style="color: #008000;">self</span>.<span style="color: black;">gmail_pwd</span> = gmail_pwd
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> getAttachment<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, path, charset=<span style="color: #483d8b;">'ASCII'</span><span style="color: black;">&#41;</span>:
        contentType, encoding = guess_type<span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> contentType <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span> <span style="color: #ff7700;font-weight:bold;">or</span> encoding <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span>:
            contentType = <span style="color: #483d8b;">'application/octet-stream'</span>
&nbsp;
        mainType, subType = contentType.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/'</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
        _file = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path, <span style="color: #483d8b;">'rb'</span><span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> mainType == <span style="color: #483d8b;">'text'</span>:
            attachment = MIMEText<span style="color: black;">&#40;</span>_file.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, subType, charset<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">elif</span> mainType == <span style="color: #483d8b;">'message'</span>:
            attachment = <span style="color: #dc143c;">email</span>.<span style="color: black;">message_from_file</span><span style="color: black;">&#40;</span>_file<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">elif</span> mainType == <span style="color: #483d8b;">'image'</span>:
            attachment = MIMEImage<span style="color: black;">&#40;</span>_file.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, _subType=subType<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">elif</span> mainType == <span style="color: #483d8b;">'audio'</span>:
            attachment = MIMEAudio<span style="color: black;">&#40;</span>_file.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, _subType=subType<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">else</span>:
            attachment = MIMEBase<span style="color: black;">&#40;</span>mainType, subType<span style="color: black;">&#41;</span>
            attachment.<span style="color: black;">set_payload</span><span style="color: black;">&#40;</span>_file.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            encode_base64<span style="color: black;">&#40;</span>attachment<span style="color: black;">&#41;</span>
&nbsp;
        _file.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
        attachment.<span style="color: black;">add_header</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Content-Disposition'</span>, <span style="color: #483d8b;">'attachment'</span>,
            filename=basename<span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">return</span> attachment
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> send<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, to, subject, text=u<span style="color: #483d8b;">&quot;&quot;</span>, html=<span style="color: #008000;">None</span>, attachments=<span style="color: #008000;">None</span>, charset=<span style="color: #483d8b;">&quot;iso-8859-15&quot;</span><span style="color: black;">&#41;</span>:
        <span style="color: #483d8b;">&quot;&quot;&quot;
        Sends an email through Gmail using the authentication
        given to this instance.
&nbsp;
        If given, attachments must be a list of paths pointing
        to the files we want to include.
&nbsp;
        This script does not embed inline content (multipart/related)
&nbsp;
        &quot;&quot;&quot;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> charset <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: black;">&#91;</span><span style="color: #483d8b;">'utf8'</span>,<span style="color: #483d8b;">'utf-8'</span><span style="color: black;">&#93;</span>: <span style="color: #808080; font-style: italic;">#bug?</span>
            <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">email</span>.<span style="color: black;">charset</span> <span style="color: #ff7700;font-weight:bold;">import</span> add_charset, SHORTEST
            add_charset<span style="color: black;">&#40;</span><span style="color: #483d8b;">'utf-8'</span>, SHORTEST, <span style="color: #008000;">None</span>, <span style="color: #008000;">None</span><span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">isinstance</span><span style="color: black;">&#40;</span>text, <span style="color: #008000;">unicode</span><span style="color: black;">&#41;</span>:
            text = text.<span style="color: black;">encode</span><span style="color: black;">&#40;</span>charset, <span style="color: #483d8b;">'replace'</span><span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">isinstance</span><span style="color: black;">&#40;</span>html, <span style="color: #008000;">unicode</span><span style="color: black;">&#41;</span>:
            html = html.<span style="color: black;">encode</span><span style="color: black;">&#40;</span>charset, <span style="color: #483d8b;">'replace'</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> attachments <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span>:
            attachments = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">if</span> text: plain_part = MIMEText<span style="color: black;">&#40;</span>text, <span style="color: #483d8b;">'plain'</span>, charset<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> html: html_part = MIMEText<span style="color: black;">&#40;</span>html, <span style="color: #483d8b;">'html'</span>, charset<span style="color: black;">&#41;</span>
&nbsp;
        is_alternative = html <span style="color: #ff7700;font-weight:bold;">and</span> text
        layers = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> attachments <span style="color: #ff7700;font-weight:bold;">or</span> is_alternative:
            msg = MIMEMultipart<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#mixed</span>
            msg.<span style="color: black;">set_charset</span><span style="color: black;">&#40;</span>charset<span style="color: black;">&#41;</span>
            msg.<span style="color: black;">preamble</span> = <span style="color: #483d8b;">'This is a multi-part message in MIME format.'</span>
            msg.<span style="color: black;">epilogue</span> = <span style="color: #483d8b;">''</span>
            layers.<span style="color: black;">append</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #ff7700;font-weight:bold;">if</span> is_alternative:
                msgAlternative = MIMEMultipart<span style="color: black;">&#40;</span><span style="color: #483d8b;">'alternative'</span><span style="color: black;">&#41;</span>
                msg.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>msgAlternative<span style="color: black;">&#41;</span>
                layers.<span style="color: black;">append</span><span style="color: black;">&#40;</span>msgAlternative<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #ff7700;font-weight:bold;">if</span> text:
                layers<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>plain_part<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> html:
                layers<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>html_part<span style="color: black;">&#41;</span>
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">elif</span> text:
            msg = plain_part
        <span style="color: #ff7700;font-weight:bold;">else</span>: <span style="color: #808080; font-style: italic;">#html only</span>
            msg = html_part
&nbsp;
        <span style="color: #ff7700;font-weight:bold;">for</span> path <span style="color: #ff7700;font-weight:bold;">in</span> attachments:
            msg.<span style="color: black;">attach</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">getAttachment</span><span style="color: black;">&#40;</span>path, charset<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
        msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span> = <span style="color: #008000;">self</span>.<span style="color: black;">gmail_user</span>
        msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span> = to
        msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Subject'</span><span style="color: black;">&#93;</span> = subject
&nbsp;
        mailServer = <span style="color: #dc143c;">smtplib</span>.<span style="color: black;">SMTP</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;smtp.gmail.com&quot;</span>, <span style="color: #ff4500;">587</span><span style="color: black;">&#41;</span>
        mailServer.<span style="color: black;">ehlo</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        mailServer.<span style="color: black;">starttls</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        mailServer.<span style="color: black;">ehlo</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        mailServer.<span style="color: black;">login</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">gmail_user</span>, <span style="color: #008000;">self</span>.<span style="color: black;">gmail_pwd</span><span style="color: black;">&#41;</span>
        mailServer.<span style="color: black;">sendmail</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">gmail_user</span>, to, msg.<span style="color: black;">as_string</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #808080; font-style: italic;"># Should be mailServer.quit(), but that crashes...</span>
        mailServer.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/script-para-hacer-mailing-en-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maravilloso</title>
		<link>http://veinti1.com/maravilloso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=maravilloso</link>
		<comments>http://veinti1.com/maravilloso/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 19:45:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=222</guid>
		<description><![CDATA[mysql> drop database otrs2 -> ; ERROR 1008 (HY000): Can't drop database 'otrs2'; database doesn't exist mysql> create database otrs2 -> ; ERROR 1007 (HY000): Can't create database 'otrs2'; database exists mysql>]]></description>
			<content:encoded><![CDATA[<p><code>mysql> drop database otrs2<br />
    -> ;<br />
ERROR 1008 (HY000): Can't drop database 'otrs2'; database doesn't exist<br />
mysql> create database otrs2<br />
    -> ;<br />
ERROR 1007 (HY000): Can't create database 'otrs2'; database exists<br />
mysql><br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/maravilloso/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Directorio de componentes Joomla</title>
		<link>http://veinti1.com/directorio-de-componentes-joomla/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=directorio-de-componentes-joomla</link>
		<comments>http://veinti1.com/directorio-de-componentes-joomla/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 05:42:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=216</guid>
		<description><![CDATA[Comparto con vosotros un diccionario que he ido alimentando de manera automática en su inicio y artesanal después, de componentes de Joomla, principalmente componentes vulnerables, puede que se haya colado alguno que no tenga fallo conocido, pero principalmente los componentes incluidos tiene algún tipo de fallo de seguridad. Personalmente lo pongo en práctica con la [...]]]></description>
			<content:encoded><![CDATA[<p>Comparto con vosotros un diccionario que he ido alimentando de manera automática en su inicio y artesanal después, de componentes de Joomla, principalmente componentes vulnerables, puede que se haya colado alguno que no tenga fallo conocido, pero principalmente los componentes incluidos tiene algún tipo de fallo de seguridad.</p>
<p>Personalmente lo pongo en práctica con la herramienta pipper, que según veo ya no se encuentra en la <a href="http://www.yoire.com/">página del autor</a> Mandingo. Así que os lo adjuntaré abajo junto al diccionario.</p>
<p><strong>Ejemplo de uso de pipper:</strong><br />
<code>perl pipper.pl http://www.web.com/components/[file]/ -v file=/ruta/components.txt -hc 404</code><br />
<br />
[+] Diccionatio: <a href='http://veinti1.com/wp-content/uploads/2010/11/components.txt'>components.txt</a><br />
[+] Pipper: <a href='http://veinti1.com/wp-content/uploads/2010/11/pipper.tar.gz'>pipper.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/directorio-de-componentes-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vacaciones inminentes!</title>
		<link>http://veinti1.com/vacaciones-inminentes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vacaciones-inminentes</link>
		<comments>http://veinti1.com/vacaciones-inminentes/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 11:12:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=214</guid>
		<description><![CDATA[Hoy mismo empiezo las vacaciones, todo el mes de agosto, para comprar pilas nuevas y recargar las viejas. Estas vacaciones parecen que van a ser intensas, mañana salgo para Galicia una semana, después una semanita a la Herradura, un poquito de feria y a terminar el mes y descansar en Portugal. Os dejo con esta [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy mismo empiezo las vacaciones, todo el mes de agosto, para comprar pilas nuevas y recargar las viejas. Estas vacaciones parecen que van a ser intensas, mañana salgo para Galicia una semana, después una semanita a la Herradura, un poquito de feria y a terminar el mes y descansar en Portugal. </p>
<p>Os dejo con esta canción que me ha acompañado mucho este año, y que cada vez que la escucho se me ponen los bellos de punta:</p>
<p><em>&#8220;que grande sería estar en un concierto de Daft Punk&#8221;, mae mia</em><br />
<center><br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/n68CUODYW_4&amp;hl=es_ES&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/n68CUODYW_4&amp;hl=es_ES&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/vacaciones-inminentes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

