<?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 &#187; programacion</title>
	<atom:link href="http://veinti1.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://veinti1.com</link>
	<description>Linux Redes Seguridad Servidores Programación o eso debería</description>
	<lastBuildDate>Mon, 08 Mar 2010 10:04:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Manual gSoap, por Manuel Castillo Cagigal</title>
		<link>http://veinti1.com/manual-gsoap-por-manuel-castillo-cagigal/</link>
		<comments>http://veinti1.com/manual-gsoap-por-manuel-castillo-cagigal/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:56:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=179</guid>
		<description><![CDATA[Mi amigo Manuel Castillo Cagigal ha escrito un excelente manual sobre gSoap, lo comparte con todos vosotros con el fín de que a alguien le pueda facilitar un poco  la comprensión de esta herramienta.
gSoap:
La herramienta gSoap realiza una conexión de lenguaje entre el protocolo SOAP/XML y el lengua je de programación C/C++ facilitando considerablemente [...]]]></description>
			<content:encoded><![CDATA[<p>Mi amigo Manuel Castillo Cagigal ha escrito un excelente manual sobre gSoap, lo comparte con todos vosotros con el fín de que a alguien le pueda facilitar un poco  la comprensión de esta herramienta.</p>
<p><strong>gSoap:</strong><br />
<em>La herramienta gSoap realiza una conexión de lenguaje entre el protocolo SOAP/XML y el lengua je de programación C/C++ facilitando considerablemente el desarrollo de servicios web y aplicaciones cliente/servidor en estos lenguajes. </em></p>
<p><a href="http://doc.veinti1.com/Manual_gSoap.pdf" target="_blank">Descargar Manual.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/manual-gsoap-por-manuel-castillo-cagigal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>getTorrent.py &#8211; nueva versión.</title>
		<link>http://veinti1.com/gettorrentpy-nueva-version/</link>
		<comments>http://veinti1.com/gettorrentpy-nueva-version/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 18:23:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=174</guid>
		<description><![CDATA[¿Que es?
He subido una nueva versión debido a cambios en el RSS de mininova que no me parseaba correctamente los seechs y leechs.
Podeís descargarla desde aquí.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://veinti1.com/gettorrentpy-script-para-descarga-de-torrent-del-rss-de-mininova-y-anadirlos-a-mldonkey/" target="_blank">¿Que es?</a></p>
<p>He subido una nueva versión debido a cambios en el RSS de mininova que no me parseaba correctamente los seechs y leechs.</p>
<p>Podeís descargarla desde <a href="http://doc.veinti1.com/getTorrent.tar.gz">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/gettorrentpy-nueva-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para hacer Backups</title>
		<link>http://veinti1.com/script-para-hacer-backups/</link>
		<comments>http://veinti1.com/script-para-hacer-backups/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 03:36:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://veinti1.com/?p=164</guid>
		<description><![CDATA[Me he hecho un pequeño script en Python que llamo todos los dias en en el cron para que me haga un backup.
Utiliza scp y lo tengo configurado con certificado de la máquina &#8216;backup&#8217; hacía la que va a copiar.

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
#!/usr/bin/env python
import os, time, smtplib, sys, subprocess, StringIO
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import [...]]]></description>
			<content:encoded><![CDATA[<p>Me he hecho un pequeño script en Python que llamo todos los dias en en el cron para que me haga un backup.<br />
Utiliza scp y lo tengo configurado con certificado de la máquina &#8216;backup&#8217; hacía la que va a copiar.</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
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">time</span>, <span style="color: #dc143c;">smtplib</span>, <span style="color: #dc143c;">sys</span>, <span style="color: #dc143c;">subprocess</span>, <span style="color: #dc143c;">StringIO</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;">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;">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;">multipart</span> <span style="color: #ff7700;font-weight:bold;">import</span> MIMEMultipart
&nbsp;
<span style="color: #dc143c;">email</span> = <span style="color: #483d8b;">&quot;email@dominio&quot;</span> <span style="color: #808080; font-style: italic;">#email al que vas a enviar</span>
email_from = <span style="color: #483d8b;">&quot;email@dominio&quot;</span> <span style="color: #808080; font-style: italic;">#Desde el que vas a enviar</span>
path = <span style="color: #483d8b;">&quot;/path/donde/guardar/el/backup&quot;</span>
path_l = path + <span style="color: #483d8b;">&quot;files/&quot;</span>
path_h = <span style="color: #483d8b;">&quot;/path/de/la/maquina/remota/a/copiar&quot;</span>
host = <span style="color: #483d8b;">&quot;ip_o_dominio&quot;</span>
<span style="color: #dc143c;">user</span> = <span style="color: #483d8b;">&quot;cacaue&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> writelog<span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span>:
log=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">'log.txt'</span>, <span style="color: #483d8b;">'a'</span><span style="color: black;">&#41;</span>
log.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d %m %Y %H:%M&quot;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot;  &quot;</span>+content+<span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span>
log.<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> sendemail<span style="color: black;">&#40;</span>content, asunto<span style="color: black;">&#41;</span>:
msg = MIMEMultipart<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span> = <span style="color: #dc143c;">email</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Cc'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">&quot;&quot;</span>
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span> = email_from
msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'Subject'</span><span style="color: black;">&#93;</span> = asunto
text = MIMEText<span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span>
text.<span style="color: black;">add_header</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Content-Disposition&quot;</span>, <span style="color: #483d8b;">&quot;inline&quot;</span><span style="color: black;">&#41;</span>
msg.<span style="color: black;">attach</span><span style="color: black;">&#40;</span>text<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">try</span>:
server=<span style="color: #dc143c;">smtplib</span>.<span style="color: black;">SMTP</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;localhost&quot;</span><span style="color: black;">&#41;</span>
server.<span style="color: black;">sendmail</span><span style="color: black;">&#40;</span>msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'From'</span><span style="color: black;">&#93;</span>, msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span>, 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>
server.<span style="color: black;">quit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Email enviado a &quot;</span>+msg<span style="color: black;">&#91;</span><span style="color: #483d8b;">'To'</span><span style="color: black;">&#93;</span>+<span style="color: #483d8b;">&quot; con el contenido: &quot;</span>+content<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Error al enviar email&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
path_backup = path_l+<span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d%m%y&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">try</span>:
<span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span>path_backup<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ya existe --&amp;gt; &quot;</span>+path_backup<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #dc143c;">cmd</span> = <span style="color: #483d8b;">&quot;scp -r &quot;</span>+<span style="color: #dc143c;">user</span>+<span style="color: #483d8b;">&quot;@&quot;</span>+host+<span style="color: #483d8b;">&quot;:&quot;</span>+path_h+<span style="color: #483d8b;">&quot; &quot;</span>+path_backup
<span style="color: #ff7700;font-weight:bold;">try</span>:
f=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span>, <span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
retcode = <span style="color: #dc143c;">subprocess</span>.<span style="color: black;">call</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">cmd</span>, shell=<span style="color: #008000;">True</span>, stdin=f, stderr=f<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;">if</span> retcode <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> <span style="color: #ff4500;">0</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Child was terminated by signal&quot;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
f=<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span>, <span style="color: #483d8b;">&quot;r&quot;</span><span style="color: black;">&#41;</span>
salida = f.<span style="color: black;">read</span><span style="color: black;">&#40;</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;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>path+<span style="color: #483d8b;">&quot;temp.txt&quot;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span><span style="color: #ff4500;">0</span>:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Error en &quot;</span>+host<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
sendemail<span style="color: black;">&#40;</span>salida, <span style="color: #483d8b;">&quot;Backup &quot;</span>+<span style="color: #dc143c;">time</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%d/%m/%y&quot;</span><span style="color: black;">&#41;</span>+<span style="color: #483d8b;">&quot; realizado con exito&quot;</span><span style="color: black;">&#41;</span>
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Realizado con exito&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">OSError</span>, e:
writelog<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Execution failed&quot;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://veinti1.com/script-para-hacer-backups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
