<?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>La Cofradía Digital &#187; Python</title>
	<atom:link href="http://cofradia.org/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://cofradia.org</link>
	<description>Hermandad informática</description>
	<lastBuildDate>Sun, 20 May 2012 06:33:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Vacante para programador python</title>
		<link>http://cofradia.org/2011/10/02/vacante-para-programador-python/</link>
		<comments>http://cofradia.org/2011/10/02/vacante-para-programador-python/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 16:22:00 +0000</pubDate>
		<dc:creator>zodman</dc:creator>
				<category><![CDATA[Clasificados]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=6917</guid>
		<description><![CDATA[http://www.ofertashacker.com/jobs/148-desarrollador-python ¿Sabes Python? puedes aplicar, manda tu cv.]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2011/10/02/vacante-para-programador-python/"></g:plusone></div><p><a href="http://www.ofertashacker.com/jobs/148-desarrollador-python">http://www.ofertashacker.com/jobs/148-desarrollador-python</a><br />
</p>
<p>¿Sabes Python? puedes aplicar, manda tu cv.</p>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2011/10/02/vacante-para-programador-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Técnicas para portar código de Perl a Python</title>
		<link>http://cofradia.org/2010/09/10/tecnicas-para-portar-codigo-de-perl-a-python/</link>
		<comments>http://cofradia.org/2010/09/10/tecnicas-para-portar-codigo-de-perl-a-python/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 03:09:48 +0000</pubDate>
		<dc:creator>solrac</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tips técnicos]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Redhat SUSE]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=3777</guid>
		<description><![CDATA[Nos mandan un artículo sobre como portar programas escritos en Perl a Python: Python programmers shouldn&#8217;t get too smug. While many people agree that Python is designed in a way that makes it a highly readable language, there can still be problems with legacy, untested Python code too. Porting legacy Perl to Python can be [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2010/09/10/tecnicas-para-portar-codigo-de-perl-a-python/"></g:plusone></div><p>Nos mandan un artículo sobre como portar programas escritos en Perl a Python:</p>
<blockquote><p>
Python programmers shouldn&#8217;t get too smug. While many people agree that Python is designed in a way that makes it a highly readable language, there can still be problems with legacy, untested Python code too. Porting legacy Perl to Python can be a daunting task. In this article, learn some of the theory behind <a href="http://www.ibm.com/developerworks/opensource/library/l-perl-2-python/index.html?cmp=dw&amp;cpb=dwlin&amp;ct=dwgra&amp;cr=lnxw03&amp;ccy=us&amp;csr=Perl2Python">dealing with legacy code</a>, including what not to do.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2010/09/10/tecnicas-para-portar-codigo-de-perl-a-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Técnicas de prueba con Python</title>
		<link>http://cofradia.org/2009/06/08/tecnicas-de-prueba-con-python/</link>
		<comments>http://cofradia.org/2009/06/08/tecnicas-de-prueba-con-python/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 20:27:41 +0000</pubDate>
		<dc:creator>solrac</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tips técnicos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=1678</guid>
		<description><![CDATA[Nos mandan un artículo sobre el uso de frameworks para la prueba y debug de programas en Python. Look at how the leading Python testing frameworks provide robust auto-discovery of your application tests. Make sure your applications are written right the first time, and that they stay working through months and years of further tweaks [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2009/06/08/tecnicas-de-prueba-con-python/"></g:plusone></div><p>
Nos mandan un artículo sobre el uso de frameworks para la prueba y debug de programas en Python.
</p>
<blockquote><p>
Look at how the leading Python testing frameworks provide robust auto-discovery of your application tests. <a href="http://www.ibm.com/developerworks/aix/library/au-pythontesting2/?ca=dgr-lnxw13twtrPython-Find-Mods&amp;S_TACT=105AGX59&amp;S_CMP=grlnxw13">Make sure your applications are written right the first time</a>, and that they stay working through months and years of further tweaks and improvements.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2009/06/08/tecnicas-de-prueba-con-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiproceso con Python</title>
		<link>http://cofradia.org/2009/03/25/multiproceso-con-python/</link>
		<comments>http://cofradia.org/2009/03/25/multiproceso-con-python/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 04:02:30 +0000</pubDate>
		<dc:creator>solrac</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tips técnicos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[multiprocessig]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=1209</guid>
		<description><![CDATA[Nos mandan un artículo de como utilizar aplicaciones de Python aprovechando las arquitecturas multi-core actuales: Learn to scale your UNIX Python applications to multiple cores by using the multiprocessing module which is built into Python 2.6. Multiprocessing mimics parts of the threading API in Python to give the developer a high level of control over [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2009/03/25/multiproceso-con-python/"></g:plusone></div><p>
Nos mandan un artículo de como utilizar aplicaciones de Python aprovechando las arquitecturas multi-core actuales:
</p>
<blockquote><p>
Learn to scale your UNIX Python applications to multiple cores by <a href="http://www.ibm.com/developerworks/aix/library/au-multiprocessing/index.html?ca=dgr-lnxw13Python-Multi&amp;S_TACT=105AGX59&amp;S_CMP=grsitelnxw13">using the multiprocessing module which is built into Python 2.6</a>. Multiprocessing mimics parts of the threading API in Python to give the developer a high level of control over flocks of processes, but also incorporates many additional features unique to processes.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2009/03/25/multiproceso-con-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python 3 Metaclasses y otras extrañas creaturas</title>
		<link>http://cofradia.org/2009/02/03/python-3-metaclasses-y-otras-extranas-creaturas/</link>
		<comments>http://cofradia.org/2009/02/03/python-3-metaclasses-y-otras-extranas-creaturas/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 20:14:07 +0000</pubDate>
		<dc:creator>solrac</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=799</guid>
		<description><![CDATA[Nos mandan un artículo sobre las cosas nuevas en Python 3: Python 3 is the latest version of Guido van Rossum&#8217;s powerful general-purpose programming language. It breaks backwards compatibility with the 2.x line but has cleaned up some syntax issues. This second article builds on the previous article, which focused on changes that affect the [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2009/02/03/python-3-metaclasses-y-otras-extranas-creaturas/"></g:plusone></div><p>
Nos mandan un artículo sobre las cosas nuevas en Python 3:
</p>
<blockquote><p>
Python 3 is the latest version of Guido van Rossum&#8217;s powerful general-purpose programming language. It breaks backwards compatibility with the 2.x line but has cleaned up some syntax issues. This second article builds on the <a href="http://www.ibm.com/developerworks/linux/library/l-python3-1/?ca=dgr-lnxw13Python3P1&amp;S_TACT=105AGX59&amp;S_CMP=grsitelnxw13">previous article</a>, which focused on changes that affect the language and backwards compatibility issues. In Part 2 of this two-part series, <a href="http://www.ibm.com/developerworks/linux/library/l-python3-2/index.html?ca=dgr-lnxw13Python3P2&amp;S_TACT=105AGX59&amp;S_CMP=grsitelnxwa13">discover more new Python features</a> and details on more advanced topics such as changes in abstract base classes, metaclasses, and decorators.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2009/02/03/python-3-metaclasses-y-otras-extranas-creaturas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: Convertir Hojas de calculo con Python</title>
		<link>http://cofradia.org/2009/01/08/tutorial-convertir-hojas-de-calculo-con-python/</link>
		<comments>http://cofradia.org/2009/01/08/tutorial-convertir-hojas-de-calculo-con-python/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 19:16:48 +0000</pubDate>
		<dc:creator>jza</dc:creator>
				<category><![CDATA[Tips técnicos]]></category>
		<category><![CDATA[ods]]></category>
		<category><![CDATA[oorunner]]></category>
		<category><![CDATA[openoffice.org]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[pyuno]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=633</guid>
		<description><![CDATA[Este articulo detalla como convertir hojas de calculos con python y pyuno mas especificamente. Es la segunda parte a la columna anterior para usar Python y OOo como servicio. Esta sin embargo manipula los documentos de ODS convirtiendolos en archivos tipo CSV. Este usa una libreria hecha en la columna anterior llamada oooutils asi como [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2009/01/08/tutorial-convertir-hojas-de-calculo-con-python/"></g:plusone></div><p><img src="http://cofradia.org/wp-content/uploads/2009/01/py-uno_128.png" alt="py-uno_128" title="py-uno_128" width="128" height="128" class="alignleft size-full wp-image-636" /><br />
<a href="http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno">Este articulo detalla</a> como convertir hojas de calculos con python y pyuno mas especificamente. Es la segunda parte a la columna anterior para usar Python y OOo como servicio. Esta sin embargo manipula los documentos de ODS convirtiendolos en archivos tipo CSV. Este usa una libreria hecha en la columna anterior  llamada oooutils asi como <a href="http://www.linuxjournal.com/node/1007788">oorunner</a>.</p>
<p>El script tambien hace gran uso de la manipulacion de archivos que embede openoffice.org asi como el servicio de escritura usando &#8216;storeToURL().</p>
<p>Puedes leer el resto del documento aqui:<br />
<a href="http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno">http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2009/01/08/tutorial-convertir-hojas-de-calculo-con-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambios en el lenguaje de Python en su versión 3</title>
		<link>http://cofradia.org/2008/12/22/python-3-changes-breaks-backwards-compatibility/</link>
		<comments>http://cofradia.org/2008/12/22/python-3-changes-breaks-backwards-compatibility/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 03:07:09 +0000</pubDate>
		<dc:creator>solrac</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=473</guid>
		<description><![CDATA[Nos mandan de IBM un artículo que muestra las diferencias de las versiones anteriores de Python con la nueva versión 3: Python 3 is the latest version of Guido van Rossum&#8217;s powerful general-purpose programming language. Whether the Python community will accept version 3 is anyone&#8217;s guess. The breaking of backwards compatibility will mean supporting two [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2008/12/22/python-3-changes-breaks-backwards-compatibility/"></g:plusone></div><p>
Nos mandan de IBM un artículo que muestra las diferencias de las versiones anteriores de Python con la nueva versión 3:
</p>
<blockquote><p>
Python 3 is the latest version of Guido van Rossum&#8217;s powerful general-purpose programming language. Whether the Python community will accept version 3 is anyone&#8217;s guess. <a href="http://www.ibm.com/developerworks/linux/library/l-python3-1/index.html?ca=dgr-lnxw13Python3&amp;S_TACT=105AGX59&amp;S_CMP=grsitelnxw13">The breaking of backwards compatibility will mean supporting two different versions in parallel</a>. This article covers changes to input/output (I/O), the new bytes data type, changes to strings and string formatting, and finally, changes to the built-in dict type.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2008/12/22/python-3-changes-breaks-backwards-compatibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script python para enviar SMS en GSM (Telcel, Movistar)</title>
		<link>http://cofradia.org/2008/12/08/script-python-para-enviar-sms-en-gsm-telcel-movistar/</link>
		<comments>http://cofradia.org/2008/12/08/script-python-para-enviar-sms-en-gsm-telcel-movistar/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 03:07:49 +0000</pubDate>
		<dc:creator>ja_vier</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Tips técnicos]]></category>
		<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[dirty]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[PDU]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://cofradia.org/?p=164</guid>
		<description><![CDATA[Existen excelentes programas para enviar SMS desde el escritorio como Wammu, entre otros. ¿Pero, que sucede si se desea enviar SMS desde aplicaciones incrustadas (¿embebidas?), o simplemente se requiere mas grado de control? El siguiente script envia SMS via puerto serial virtual Bluetooth, codificando el texto en modo PDU. Es importante mencionar que el modo [...]]]></description>
			<content:encoded><![CDATA[<div name="googleone_share_1" style="position:relative;z-index:5;float: right; margin-left: 10px;"><g:plusone size="tall" count="1" href="http://cofradia.org/2008/12/08/script-python-para-enviar-sms-en-gsm-telcel-movistar/"></g:plusone></div><p>Existen excelentes programas para enviar SMS desde el escritorio como  <a href="http://wammu.eu/">Wammu</a>, entre otros.</p>
<p>¿Pero, que sucede si se desea enviar SMS desde aplicaciones incrustadas (¿embebidas?), o simplemente se requiere mas grado de control?</p>
<p>El siguiente script envia SMS via puerto serial virtual Bluetooth, codificando el texto en modo PDU.<br />
Es importante mencionar que el modo texto para envío de SMS (que es mucho mas sencillo de implementar) no siempre está disponible en todas las terminales.</p>
<p>El código es muy perfectible, solamente cuenta con un manejo básico de errores y no está muy a la &#8220;manera pythonica&#8221;, pero por otra parte, funciona con todo el alfabeto GSM de 7 bits y permite enviar caracteres no ingleses, como la ñ y Ñ.</p>
<p>Si resulta de interés, posteriormente pondré a su consideración, otras formas de codificación SMS como la UTF (que es la razón de que en ocasiones las compañías celulares nos cobren varios SMS por envío por los mismos 160 caracteres). Codificar UTF requiere modo PDU hasta donde mi conocimiento me permite saber.</p>
<p>Bienvenidos los comentarios, quejas y sugerencias a <a href="http://www.ideaversatil.com">Idea Versátil</a><br />
<span id="more-164"></span></p>

<div class="wp_syntax"><div 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;"># -*- coding: utf-8 -*-</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Python script to send SMS in PDU MODE.</span>
<span style="color: #808080; font-style: italic;"># It is using 7 bit default alphabet as specified by GSM 03.38, even chars as ñ or Ñ</span>
<span style="color: #808080; font-style: italic;"># Check www.ideaversatil.com for comments. Script provided as is. NO WARRANTIES OF ANY KIND!!!</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">time</span> <span style="color: #ff7700;font-weight:bold;">import</span> sleep
<span style="color: #ff7700;font-weight:bold;">import</span> serial
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> reverseMe<span style="color: black;">&#40;</span>s<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> s<span style="color: black;">&#91;</span>::-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> int2bin<span style="color: black;">&#40;</span>n, count=<span style="color: #ff4500;">24</span><span style="color: black;">&#41;</span>:
    <span style="color: #808080; font-style: italic;"># (int2bin Author: adomas) http://www.sourcesnippets.com/python-decimal-to-binary-conversion.html</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;&quot;</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>n <span style="color: #66cc66;">&gt;&gt;</span> y<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&amp;</span> <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> y <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>count-<span style="color: #ff4500;">1</span>, -<span style="color: #ff4500;">1</span>, -<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> bin2hex<span style="color: black;">&#40;</span>b<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#40;</span> <span style="color: #483d8b;">&quot;%X&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: #008000;">int</span><span style="color: black;">&#40;</span>b,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> <span style="color: black;">&#41;</span>.<span style="color: black;">zfill</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
&nbsp;
gsm7 = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'@'</span>:<span style="color: #483d8b;">'0'</span>, u<span style="color: #483d8b;">'£'</span>:<span style="color: #483d8b;">'1'</span>, <span style="color: #483d8b;">'$'</span>:<span style="color: #483d8b;">'2'</span>, u<span style="color: #483d8b;">'¥'</span>:<span style="color: #483d8b;">'3'</span>, u<span style="color: #483d8b;">'è'</span>:<span style="color: #483d8b;">'4'</span>, u<span style="color: #483d8b;">'é'</span>:<span style="color: #483d8b;">'5'</span>, u<span style="color: #483d8b;">'ù'</span>:<span style="color: #483d8b;">'6'</span>, u<span style="color: #483d8b;">'ì'</span>:<span style="color: #483d8b;">'7'</span>, u<span style="color: #483d8b;">'ò'</span>:<span style="color: #483d8b;">'8'</span>, u<span style="color: #483d8b;">'Ç'</span>:<span style="color: #483d8b;">'9'</span>, <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>:<span style="color: #483d8b;">'10'</span>, u<span style="color: #483d8b;">'Ø'</span>:<span style="color: #483d8b;">'11'</span>, u<span style="color: #483d8b;">'ø'</span>:<span style="color: #483d8b;">'12'</span>, <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\r</span>'</span>:<span style="color: #483d8b;">'13'</span>, u<span style="color: #483d8b;">'Å'</span>:<span style="color: #483d8b;">'14'</span>, u<span style="color: #483d8b;">'å'</span>:<span style="color: #483d8b;">'15'</span>, u<span style="color: #483d8b;">'Δ'</span>:<span style="color: #483d8b;">'16'</span>, <span style="color: #483d8b;">'_'</span>:<span style="color: #483d8b;">'17'</span>, u<span style="color: #483d8b;">'Φ'</span>:<span style="color: #483d8b;">'18'</span>, u<span style="color: #483d8b;">'Γ'</span>:<span style="color: #483d8b;">'19'</span>, u<span style="color: #483d8b;">'Λ'</span>:<span style="color: #483d8b;">'20'</span>, u<span style="color: #483d8b;">'Ω'</span>:<span style="color: #483d8b;">'21'</span>, u<span style="color: #483d8b;">'Π'</span>:<span style="color: #483d8b;">'22'</span>, u<span style="color: #483d8b;">'Ψ'</span>:<span style="color: #483d8b;">'23'</span>, u<span style="color: #483d8b;">'Σ'</span>:<span style="color: #483d8b;">'24'</span>, u<span style="color: #483d8b;">'Θ'</span>:<span style="color: #483d8b;">'25'</span>, u<span style="color: #483d8b;">'Ξ'</span>:<span style="color: #483d8b;">'26'</span>, <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\f</span>'</span>:<span style="color: #483d8b;">'27##10'</span>, <span style="color: #483d8b;">'^'</span>:<span style="color: #483d8b;">'27##20'</span>, <span style="color: #483d8b;">'{'</span>:<span style="color: #483d8b;">'27##40'</span>, <span style="color: #483d8b;">'}'</span>:<span style="color: #483d8b;">'27##41'</span>, <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span>:<span style="color: #483d8b;">'27##47'</span>, <span style="color: #483d8b;">'['</span>:<span style="color: #483d8b;">'27##60'</span>, <span style="color: #483d8b;">'~'</span>:<span style="color: #483d8b;">'27##61'</span>, <span style="color: #483d8b;">']'</span>:<span style="color: #483d8b;">'27##62'</span>, <span style="color: #483d8b;">'|'</span>:<span style="color: #483d8b;">'27##64'</span>, u<span style="color: #483d8b;">'€'</span>:<span style="color: #483d8b;">'27##101'</span>, u<span style="color: #483d8b;">'Æ'</span>:<span style="color: #483d8b;">'28'</span>, u<span style="color: #483d8b;">'æ'</span>:<span style="color: #483d8b;">'29'</span>, u<span style="color: #483d8b;">'ß'</span>:<span style="color: #483d8b;">'30'</span>, u<span style="color: #483d8b;">'É'</span>:<span style="color: #483d8b;">'31'</span>, <span style="color: #483d8b;">' '</span>:<span style="color: #483d8b;">'32'</span>, u<span style="color: #483d8b;">'!'</span>:<span style="color: #483d8b;">'33'</span>, <span style="color: #483d8b;">'&quot;'</span>:<span style="color: #483d8b;">'34'</span>, <span style="color: #483d8b;">'#'</span>:<span style="color: #483d8b;">'35'</span>, u<span style="color: #483d8b;">'¤'</span>:<span style="color: #483d8b;">'36'</span>, <span style="color: #483d8b;">'%'</span>:<span style="color: #483d8b;">'37'</span>, <span style="color: #483d8b;">'&amp;amp;'</span>:<span style="color: #483d8b;">'38'</span>, <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\'</span>'</span>:<span style="color: #483d8b;">'39'</span>, <span style="color: #483d8b;">'('</span>:<span style="color: #483d8b;">'40'</span>, <span style="color: #483d8b;">')'</span>:<span style="color: #483d8b;">'41'</span>, <span style="color: #483d8b;">'*'</span>:<span style="color: #483d8b;">'42'</span>, <span style="color: #483d8b;">'+'</span>:<span style="color: #483d8b;">'43'</span>, <span style="color: #483d8b;">','</span>:<span style="color: #483d8b;">'44'</span>, <span style="color: #483d8b;">'-'</span>:<span style="color: #483d8b;">'45'</span>, <span style="color: #483d8b;">'.'</span>:<span style="color: #483d8b;">'46'</span>, <span style="color: #483d8b;">'/'</span>:<span style="color: #483d8b;">'47'</span>, <span style="color: #483d8b;">'0'</span>:<span style="color: #483d8b;">'48'</span>, <span style="color: #483d8b;">'1'</span>:<span style="color: #483d8b;">'49'</span>, <span style="color: #483d8b;">'2'</span>:<span style="color: #483d8b;">'50'</span>, <span style="color: #483d8b;">'3'</span>:<span style="color: #483d8b;">'51'</span>, <span style="color: #483d8b;">'4'</span>:<span style="color: #483d8b;">'52'</span>, <span style="color: #483d8b;">'5'</span>:<span style="color: #483d8b;">'53'</span>, <span style="color: #483d8b;">'6'</span>:<span style="color: #483d8b;">'54'</span>, <span style="color: #483d8b;">'7'</span>:<span style="color: #483d8b;">'55'</span>, <span style="color: #483d8b;">'8'</span>:<span style="color: #483d8b;">'56'</span>, <span style="color: #483d8b;">'9'</span>:<span style="color: #483d8b;">'57'</span>, <span style="color: #483d8b;">':'</span>:<span style="color: #483d8b;">'58'</span>, <span style="color: #483d8b;">';'</span>:<span style="color: #483d8b;">'59'</span>, <span style="color: #483d8b;">'&amp;lt;'</span>:<span style="color: #483d8b;">'60'</span>, <span style="color: #483d8b;">'='</span>:<span style="color: #483d8b;">'61'</span>, <span style="color: #483d8b;">'&gt;'</span>:<span style="color: #483d8b;">'62'</span>, <span style="color: #483d8b;">'?'</span>:<span style="color: #483d8b;">'63'</span>, u<span style="color: #483d8b;">'¡'</span>:<span style="color: #483d8b;">'64'</span>, <span style="color: #483d8b;">'A'</span>:<span style="color: #483d8b;">'65'</span>, <span style="color: #483d8b;">'B'</span>:<span style="color: #483d8b;">'66'</span>, <span style="color: #483d8b;">'C'</span>:<span style="color: #483d8b;">'67'</span>, <span style="color: #483d8b;">'D'</span>:<span style="color: #483d8b;">'68'</span>, <span style="color: #483d8b;">'E'</span>:<span style="color: #483d8b;">'69'</span>, <span style="color: #483d8b;">'F'</span>:<span style="color: #483d8b;">'70'</span>, <span style="color: #483d8b;">'G'</span>:<span style="color: #483d8b;">'71'</span>, <span style="color: #483d8b;">'H'</span>:<span style="color: #483d8b;">'72'</span>, <span style="color: #483d8b;">'I'</span>:<span style="color: #483d8b;">'73'</span>, <span style="color: #483d8b;">'J'</span>:<span style="color: #483d8b;">'74'</span>, <span style="color: #483d8b;">'K'</span>:<span style="color: #483d8b;">'75'</span>, <span style="color: #483d8b;">'L'</span>:<span style="color: #483d8b;">'76'</span>, <span style="color: #483d8b;">'M'</span>:<span style="color: #483d8b;">'77'</span>, <span style="color: #483d8b;">'N'</span>:<span style="color: #483d8b;">'78'</span>, <span style="color: #483d8b;">'O'</span>:<span style="color: #483d8b;">'79'</span>, <span style="color: #483d8b;">'P'</span>:<span style="color: #483d8b;">'80'</span>, <span style="color: #483d8b;">'Q'</span>:<span style="color: #483d8b;">'81'</span>, <span style="color: #483d8b;">'R'</span>:<span style="color: #483d8b;">'82'</span>, <span style="color: #483d8b;">'S'</span>:<span style="color: #483d8b;">'83'</span>, <span style="color: #483d8b;">'T'</span>:<span style="color: #483d8b;">'84'</span>, <span style="color: #483d8b;">'U'</span>:<span style="color: #483d8b;">'85'</span>, <span style="color: #483d8b;">'V'</span>:<span style="color: #483d8b;">'86'</span>, <span style="color: #483d8b;">'W'</span>:<span style="color: #483d8b;">'87'</span>, <span style="color: #483d8b;">'X'</span>:<span style="color: #483d8b;">'88'</span>, <span style="color: #483d8b;">'Y'</span>:<span style="color: #483d8b;">'89'</span>, <span style="color: #483d8b;">'Z'</span>:<span style="color: #483d8b;">'90'</span>, u<span style="color: #483d8b;">'Ä'</span>:<span style="color: #483d8b;">'91'</span>, u<span style="color: #483d8b;">'Ö'</span>:<span style="color: #483d8b;">'92'</span>, u<span style="color: #483d8b;">'Ñ'</span>:<span style="color: #483d8b;">'93'</span>, u<span style="color: #483d8b;">'Ü'</span>:<span style="color: #483d8b;">'94'</span>, u<span style="color: #483d8b;">'§'</span>:<span style="color: #483d8b;">'95'</span>, u<span style="color: #483d8b;">'¿'</span>:<span style="color: #483d8b;">'96'</span>, <span style="color: #483d8b;">'a'</span>:<span style="color: #483d8b;">'97'</span>, <span style="color: #483d8b;">'b'</span>:<span style="color: #483d8b;">'98'</span>, <span style="color: #483d8b;">'c'</span>:<span style="color: #483d8b;">'99'</span>, <span style="color: #483d8b;">'d'</span>:<span style="color: #483d8b;">'100'</span>, <span style="color: #483d8b;">'e'</span>:<span style="color: #483d8b;">'101'</span>, <span style="color: #483d8b;">'f'</span>:<span style="color: #483d8b;">'102'</span>, <span style="color: #483d8b;">'g'</span>:<span style="color: #483d8b;">'103'</span>, <span style="color: #483d8b;">'h'</span>:<span style="color: #483d8b;">'104'</span>, <span style="color: #483d8b;">'i'</span>:<span style="color: #483d8b;">'105'</span>, <span style="color: #483d8b;">'j'</span>:<span style="color: #483d8b;">'106'</span>, <span style="color: #483d8b;">'k'</span>:<span style="color: #483d8b;">'107'</span>, <span style="color: #483d8b;">'l'</span>:<span style="color: #483d8b;">'108'</span>, <span style="color: #483d8b;">'m'</span>:<span style="color: #483d8b;">'109'</span>, <span style="color: #483d8b;">'n'</span>:<span style="color: #483d8b;">'110'</span>, <span style="color: #483d8b;">'o'</span>:<span style="color: #483d8b;">'111'</span>, <span style="color: #483d8b;">'p'</span>:<span style="color: #483d8b;">'112'</span>, <span style="color: #483d8b;">'q'</span>:<span style="color: #483d8b;">'113'</span>, <span style="color: #483d8b;">'r'</span>:<span style="color: #483d8b;">'114'</span>, <span style="color: #483d8b;">'s'</span>:<span style="color: #483d8b;">'115'</span>, <span style="color: #483d8b;">'t'</span>:<span style="color: #483d8b;">'116'</span>, <span style="color: #483d8b;">'u'</span>:<span style="color: #483d8b;">'117'</span>, <span style="color: #483d8b;">'v'</span>:<span style="color: #483d8b;">'118'</span>, <span style="color: #483d8b;">'w'</span>:<span style="color: #483d8b;">'119'</span>, <span style="color: #483d8b;">'x'</span>:<span style="color: #483d8b;">'120'</span>, <span style="color: #483d8b;">'y'</span>:<span style="color: #483d8b;">'121'</span>, <span style="color: #483d8b;">'z'</span>:<span style="color: #483d8b;">'122'</span>, u<span style="color: #483d8b;">'ä'</span>:<span style="color: #483d8b;">'123'</span>, u<span style="color: #483d8b;">'ö'</span>:<span style="color: #483d8b;">'124'</span>, u<span style="color: #483d8b;">'ñ'</span>:<span style="color: #483d8b;">'125'</span>, u<span style="color: #483d8b;">'ü'</span>:<span style="color: #483d8b;">'126'</span>, u<span style="color: #483d8b;">'à'</span>:<span style="color: #483d8b;">'127'</span><span style="color: black;">&#125;</span>
rvphone = <span style="color: #483d8b;">&quot;&quot;</span>
i = <span style="color: #ff4500;">0</span>
txtBin = <span style="color: #483d8b;">&quot;&quot;</span>
txtHex = <span style="color: #483d8b;">&quot;&quot;</span>
&nbsp;
txt = <span style="color: #008000;">unicode</span><span style="color: black;">&#40;</span><span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Text to send: &quot;</span><span style="color: black;">&#41;</span>,<span style="color: #483d8b;">'utf-8'</span><span style="color: black;">&#41;</span>
phone = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Phone number: &quot;</span><span style="color: black;">&#41;</span>
lensms = <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>txt<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>phone<span style="color: black;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
    phone = phone + <span style="color: #483d8b;">&quot;F&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">while</span> i <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>phone<span style="color: black;">&#41;</span>:
    rvphone += reverseMe<span style="color: black;">&#40;</span>phone<span style="color: black;">&#91;</span>i:i+<span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    i += <span style="color: #ff4500;">2</span>
phone = rvphone
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> c <span style="color: #ff7700;font-weight:bold;">in</span> reverseMe<span style="color: black;">&#40;</span>txt<span style="color: black;">&#41;</span>:
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">try</span>:
         word = gsm7<span style="color: black;">&#91;</span>c<span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">Exception</span>, e:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'%s Not found, Exception: %s'</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>c,e<span style="color: black;">&#41;</span>
        word = <span style="color: #483d8b;">'63'</span> <span style="color: #808080; font-style: italic;"># Using ? as wildcard</span>
    <span style="color: #dc143c;">bytes</span> = word.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'##'</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">bytes</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">1</span>:
        txtBin += int2bin<span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">bytes</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,<span style="color: #ff4500;">7</span><span style="color: black;">&#41;</span>
        lensms += <span style="color: #ff4500;">1</span>
    txtBin += int2bin<span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">bytes</span><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: #ff4500;">7</span><span style="color: black;">&#41;</span>
&nbsp;
mlen = <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>txtBin<span style="color: black;">&#41;</span>
txt8 =  txtBin.<span style="color: black;">zfill</span><span style="color: black;">&#40;</span>mlen + <span style="color: black;">&#40;</span><span style="color: #ff4500;">8</span> - mlen <span style="color: #66cc66;">%</span> <span style="color: #ff4500;">8</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
mlen8 = <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>txt8<span style="color: black;">&#41;</span>
i = <span style="color: #ff4500;">0</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">while</span> i <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span> mlen8:
    txtHex = bin2hex<span style="color: black;">&#40;</span>txt8<span style="color: black;">&#91;</span>i:i+<span style="color: #ff4500;">8</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + txtHex
    i += <span style="color: #ff4500;">8</span>
<span style="color: #808080; font-style: italic;">#Composing GSM PDU</span>
pdu = <span style="color: #483d8b;">&quot;001100&quot;</span>
pdu +=  <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%X&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>phone<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">zfill</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
pdu +=  <span style="color: #483d8b;">&quot;81&quot;</span> + phone
pdu += <span style="color: #483d8b;">&quot;0000AA%s%s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%X&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>lensms<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">zfill</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>,txtHex <span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;AT+CMGS=%s<span style="color: #000099; font-weight: bold;">\n</span>%s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>pdu<span style="color: black;">&#41;</span> / <span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> - <span style="color: #ff4500;">1</span> ,pdu.<span style="color: black;">upper</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;">#Printing command to send sms</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">try</span>:
    s = serial.<span style="color: black;">Serial</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/dev/rfcomm0'</span>, <span style="color: #ff4500;">9600</span>, timeout=<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;">#AT commands tested successfully on Sony Ericsson, Nokia and Motorola terminals</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'ATZ<span style="color: #000099; font-weight: bold;">\r</span>'</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># Back to default phone settings</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'ATE=0<span style="color: #000099; font-weight: bold;">\r</span>'</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#Turn Off Local Echo</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'AT+CPMS=&quot;ME&quot;,&quot;ME&quot;<span style="color: #000099; font-weight: bold;">\r</span>'</span><span style="color: black;">&#41;</span><span style="color: #808080; font-style: italic;">#Using Phone's Memory as workspace</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'AT+CMGF=0<span style="color: #000099; font-weight: bold;">\r</span>'</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#Enabling PDU Mode. AT+CMGF=1 for Text Mode</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Sending...&quot;</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;AT+CMGW=%s<span style="color: #000099; font-weight: bold;">\r</span>&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>pdu<span style="color: black;">&#41;</span> / <span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span> - <span style="color: #ff4500;">1</span> <span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#Writing SMS to phone instead of actually sending SMS (debug Mode),</span>
                                                    <span style="color: #808080; font-style: italic;">#change this command to AT+CMGS when  you are ready to send SMS</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span>pdu.<span style="color: black;">upper</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    s.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #008000;">chr</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">26</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># CTRL+Z</span>
    sleep<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> s.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#Reading phone answers</span>
&nbsp;
    s.<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;">except</span> <span style="color: #008000;">Exception</span>, e:
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Unable to open /dev/rfcomm0, Exception: %s&quot;</span> <span style="color: #66cc66;">%</span> e</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cofradia.org/2008/12/08/script-python-para-enviar-sms-en-gsm-telcel-movistar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

