<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Thiagosm's Weblog</title>
	<atom:link href="http://thiagosm.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thiagosm.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 21 Dec 2008 18:15:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thiagosm.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Thiagosm's Weblog</title>
		<link>http://thiagosm.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thiagosm.wordpress.com/osd.xml" title="Thiagosm&#039;s Weblog" />
	<atom:link rel='hub' href='http://thiagosm.wordpress.com/?pushpress=hub'/>
		<item>
		<title>PyBoletos</title>
		<link>http://thiagosm.wordpress.com/2008/12/21/pyboletos/</link>
		<comments>http://thiagosm.wordpress.com/2008/12/21/pyboletos/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 08:10:33 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=119</guid>
		<description><![CDATA[  Pyboletos é um  projeto em python utilizando framework Pylons 0.9.7rc3 para geração de boletos bancários utilizando Python. Versão: 0.1 Gerando boletos para:      Banco do Brasil     Caixa Economica      Bradesco      Banco Real   Requer:   Python 2.5.x (Linguagem )  Pylons 0.9.7 ( Framework)   Mako ( Template, já vem junto com o pylons 0.9.7rc1,rc2,rc3 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=119&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p><img class="alignnone size-medium wp-image-140" title="picture-36" src="http://thiagosm.files.wordpress.com/2008/12/picture-36.png?w=300&#038;h=241" alt="picture-36" width="300" height="241" /><img class="alignnone size-medium wp-image-141" title="picture-43" src="http://thiagosm.files.wordpress.com/2008/12/picture-43.png?w=300&#038;h=241" alt="picture-43" width="300" height="241" /><img class="alignnone size-medium wp-image-142" title="picture-52" src="http://thiagosm.files.wordpress.com/2008/12/picture-52.png?w=300&#038;h=241" alt="picture-52" width="300" height="241" /><img class="alignnone size-medium wp-image-143" title="picture-61" src="http://thiagosm.files.wordpress.com/2008/12/picture-61.png?w=300&#038;h=241" alt="picture-61" width="300" height="241" /></p>
<p>Pyboletos é um  projeto em python utilizando framework Pylons 0.9.7rc3 para geração de boletos bancários utilizando Python.</p>
<p>Versão: 0.1</p>
<p>Gerando boletos para: </p>
<p>    Banco do Brasil</p>
<p>    Caixa Economica </p>
<p>    Bradesco </p>
<p>    Banco Real</p>
<p> </p>
<p>Requer: </p>
<p> Python 2.5.x (Linguagem )</p>
<p> Pylons 0.9.7 ( Framework) </p>
<p> Mako ( Template, já vem junto com o pylons 0.9.7rc1,rc2,rc3 ou superior ) </p>
<p> PIL ( Para gerar código de barra dos boletos, utilizando padrão 2 por 5 intercalado ) </p>
<p> </p>
<p>Download ? </p>
<p>http://code.google.com/p/pyboletos/downloads</p>
<p> </p>
<p>Em breve, uma nova versão com  geração de boletos para outros bancos.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=119&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/12/21/pyboletos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/12/picture-36.png?w=300" medium="image">
			<media:title type="html">picture-36</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/12/picture-43.png?w=300" medium="image">
			<media:title type="html">picture-43</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/12/picture-52.png?w=300" medium="image">
			<media:title type="html">picture-52</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/12/picture-61.png?w=300" medium="image">
			<media:title type="html">picture-61</media:title>
		</media:content>
	</item>
		<item>
		<title>Pycontrole 1.5</title>
		<link>http://thiagosm.wordpress.com/2008/11/24/pycontrole-15/</link>
		<comments>http://thiagosm.wordpress.com/2008/11/24/pycontrole-15/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 15:37:25 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=90</guid>
		<description><![CDATA[Pycontrole Pycontrole é um sistema Open-Source feito em Python que permite o gerenciamento de clientes de um provedor. Através de uma interface amigável e simples, é possível controlar o acesso, limitar banda, gerar relatório de tráfego, obter informações de consumo de link e consumo dos clientes e outras opções a mais. Alterações : Framework deixou [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=90&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://thiagosm.files.wordpress.com/2008/11/picture-42.png"><img class="alignnone size-thumbnail wp-image-114" title="picture-42" src="http://thiagosm.files.wordpress.com/2008/11/picture-42.png?w=177&#038;h=129" alt="picture-42" width="177" height="129" /></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-41.png"></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-51.png"><img class="alignnone size-thumbnail wp-image-113" title="picture-51" src="http://thiagosm.files.wordpress.com/2008/11/picture-51.png?w=177&#038;h=130" alt="picture-51" width="177" height="130" /></a></p>
<p><a href="http://thiagosm.files.wordpress.com/2008/11/picture-11.png"><img class="alignnone size-thumbnail wp-image-92" title="picture-11" src="http://thiagosm.files.wordpress.com/2008/11/picture-11.png?w=181&#038;h=132" alt="picture-11" width="181" height="132" /></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-6.png"><img class="alignnone size-thumbnail wp-image-98" title="picture-6" src="http://thiagosm.files.wordpress.com/2008/11/picture-6.png?w=204&#038;h=128" alt="picture-6" width="204" height="128" /></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-7.png"><img class="alignnone size-thumbnail wp-image-97" title="picture-7" src="http://thiagosm.files.wordpress.com/2008/11/picture-7.png?w=180&#038;h=131" alt="picture-7" width="180" height="131" /></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-3.png"><img class="alignnone size-thumbnail wp-image-94" title="picture-3" src="http://thiagosm.files.wordpress.com/2008/11/picture-3.png?w=178&#038;h=131" alt="picture-3" width="178" height="131" /></a><a href="http://thiagosm.files.wordpress.com/2008/11/picture-2.png"><img class="alignnone size-thumbnail wp-image-93" title="picture-2" src="http://thiagosm.files.wordpress.com/2008/11/picture-2.png?w=175&#038;h=129" alt="picture-2" width="175" height="129" /></a></p>
<p>Pycontrole</p>
<p>Pycontrole é um sistema Open-Source feito em Python que permite o gerenciamento de clientes de um provedor. Através de uma interface amigável e simples, é possível controlar o acesso, limitar banda, gerar relatório de tráfego, obter informações de consumo de link e consumo dos clientes e outras opções a mais.</p>
<p><strong>Alterações :</strong></p>
<p>Framework deixou de ser turbogears 1.0.7 e passou a ser pylons 0.9.7.</p>
<p>Alguns recursos em Ajax utilizando jquery para consulta de disponibilidade de ip, tráfego e outros.</p>
<p>Melhoramento no SNMP, adicionado Ping e Traceroute ( mtr ).</p>
<p>Adicionada algumas validações em javascript e  formencode.</p>
<p>Mais permissões para um maior controle</p>
<p>Configurações de como controlar a banda ( usando IMQ ou fwmark iptables mark )  via gráfico, ativar e desativar dhcp, utilizar ou não sudo, etc&#8230;</p>
<p><strong>Softwares Utilizados :</strong></p>
<p>Pylons 0.9.7 rc3 ( ou rc2 ) &#8211; Framework</p>
<p>SQLAlchemy 0.4.7p1 &#8211; ORM</p>
<p>Psycopg2 &#8211; Driver conexão PosgreSQL</p>
<p>ReportLab 2.2  &#8211; Gerar PDF</p>
<p>Pil (imaging 1.6) &#8211; PDF com imagens</p>
<p>Pisa 3.x &#8211; Ferramenta para gerar pdf (html to pdf )</p>
<p>Html5lib &#8211; Dependencia do Pisa</p>
<p>Python 2.5.x</p>
<p>Download ?</p>
<p>http://code.google.com/p/pycontrole/downloads/list</p>
<p>Install ?</p>
<p>http://code.google.com/p/pycontrole/wiki/InstallPycontrole15</p>
<p><strong>Um pouco sobre a mudança.</strong></p>
<p>Sempre procurando o framework ideal, resolvi utilizar pylons para criar minhas próximas aplicações.  Nunca vi ou ouvi ninguem que utiliza ou utilizou pylons no meu estado, mas resolvi conhecer mais a fundo esse framework.  Depois de googlear muito, vi muito sobre turbogears 2.0 e pylons, com isso resolvi utilizar  pylons puro mesmo.</p>
<p>Acostumado na vida boa com turbogears, widgets, identity, mochikit, tgtools, catwalk,  em pylons tive que criar o que eu precisava &#8220;no braço&#8221;.  O sistema de autenticação foi a primeira coisa, no tg sempre usava o identity, no pylons ou crio um mecanismo de autenticação próprio ( usando sessoes ), ou utilizo repoze.who.  Os templates também notei diferença em velocidade, mako é realmente mais veloz e simples de entender do que o kid, a parte de endereçamento de urls ( Routes ) é bem mais interessante do que ficar utilizando @expose no turbogears e instanciando objetos no controllers.py.  A parte de validação sempre utilizava @validate do turbogears, no pylons foi no formencode direto.</p>
<p>Ajax estou utilizando  jquery para ajaxiar as coisas, widgets fizeram falta no pylons, mas não é o fim do mundo.</p>
<p>Gosto muito do turbogears e ainda utilizo, mas as próximas aplicações eu vou dar uma credibilidade para o pylons.</p>
<p>Para quem ainda não utilizou pylons, recomendo experimentar.</p>
<p><strong>Projeto de TCC &#8211; Sistemas de Informação &#8211;  Unp &#8211; Universidade Potiguar &#8211; Thiago Montenegro / Andrielly Costa</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=90&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/11/24/pycontrole-15/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-42.png?w=128" medium="image">
			<media:title type="html">picture-42</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-51.png?w=128" medium="image">
			<media:title type="html">picture-51</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-11.png?w=128" medium="image">
			<media:title type="html">picture-11</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-6.png?w=128" medium="image">
			<media:title type="html">picture-6</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-7.png?w=128" medium="image">
			<media:title type="html">picture-7</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-3.png?w=128" medium="image">
			<media:title type="html">picture-3</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/11/picture-2.png?w=128" medium="image">
			<media:title type="html">picture-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Pycontrole</title>
		<link>http://thiagosm.wordpress.com/2008/09/30/pycontrole-10/</link>
		<comments>http://thiagosm.wordpress.com/2008/09/30/pycontrole-10/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 04:57:41 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=66</guid>
		<description><![CDATA[   Pycontrole       Pycontrole é um sistema Open-Source feito em Python que permite o gerenciamento de clientes de um provedor. Através de uma interface amigável e simples, é possível controlar o acesso, limitar banda, gerar relatório de tráfego, obter informações de consumo de link e consumo dos clientes e outras opções a mais.      [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=66&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://thiagosm.files.wordpress.com/2008/09/picture-7.png"></a><a href="http://thiagosm.files.wordpress.com/2008/09/picture-8.png"><img class="alignnone size-medium wp-image-68" title="picture-8" src="http://thiagosm.files.wordpress.com/2008/09/picture-8.png?w=240&#038;h=176" alt="" width="240" height="176" /></a><a href="http://thiagosm.files.wordpress.com/2008/09/picture-9.png"><img class="alignnone size-medium wp-image-69" title="picture-9" src="http://thiagosm.files.wordpress.com/2008/09/picture-9.png?w=239&#038;h=175" alt="" width="239" height="175" /></a><a href="http://thiagosm.files.wordpress.com/2008/09/picture-12.png"><img class="alignnone size-medium wp-image-70" title="picture-12" src="http://thiagosm.files.wordpress.com/2008/09/picture-12.png?w=239&#038;h=175" alt="" width="239" height="175" /></a><a href="http://thiagosm.files.wordpress.com/2008/09/picture-14.png"><img class="alignnone size-medium wp-image-71" title="picture-14" src="http://thiagosm.files.wordpress.com/2008/09/picture-14.png?w=239&#038;h=175" alt="" width="239" height="175" /></a></p>
<p><a href="http://thiagosm.files.wordpress.com/2008/10/picture-71.png"><img class="alignnone size-medium wp-image-83" title="picture-71" src="http://thiagosm.files.wordpress.com/2008/10/picture-71.png?w=240&#038;h=176" alt="" width="240" height="176" /></a><a href="http://thiagosm.files.wordpress.com/2008/10/picture-15.png"><img class="alignnone size-medium wp-image-85" title="picture-15" src="http://thiagosm.files.wordpress.com/2008/10/picture-15.png?w=239&#038;h=175" alt="" width="239" height="175" /></a><a href="http://thiagosm.files.wordpress.com/2008/10/picture-171.png"><img class="alignnone size-medium wp-image-87" title="picture-171" src="http://thiagosm.files.wordpress.com/2008/10/picture-171.png?w=239&#038;h=175" alt="" width="239" height="175" /></a></p>
<p>   Pycontrole </p>
<p> </p>
<p>   Pycontrole é um sistema Open-Source feito em Python que permite o gerenciamento de clientes de um provedor. Através de uma interface amigável e simples, é possível controlar o acesso, limitar banda, gerar relatório de tráfego, obter informações de consumo de link e consumo dos clientes e outras opções a mais. </p>
<p>   </p>
<p> </p>
<p> </p>
<p> Softwares utilizados: </p>
<p>  Iproute2 (  Tc + htb  ) </p>
<p>  SQLAlchemy 0.4.7p1 ( ORM &#8211; Mapeador objeto relacional ) </p>
<p>  TurboGears 1.0.7 ( Framework web python )</p>
<p>  PostgreSQL 8.1  ( Banco de dados ) </p>
<p>  ReportLab e PIL ( Gerar relatórios ) </p>
<p>  Kernel com Layer7 ( somente se for limitar p2p )</p>
<p>  Pmacct ( IP Account ) </p>
<p>  SNMP + Cacti ( Geração de gráficos de consumo )  </p>
<p> </p>
<p>  Download ? </p>
<p>   <a title="Pycontrole Downloads " href="http://code.google.com/p/pycontrole/downloads"> http://code.google.com/p/pycontrole/downloads </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=66&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/09/30/pycontrole-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/09/picture-8.png?w=300" medium="image">
			<media:title type="html">picture-8</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/09/picture-9.png?w=299" medium="image">
			<media:title type="html">picture-9</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/09/picture-12.png?w=299" medium="image">
			<media:title type="html">picture-12</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/09/picture-14.png?w=299" medium="image">
			<media:title type="html">picture-14</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/10/picture-71.png?w=300" medium="image">
			<media:title type="html">picture-71</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/10/picture-15.png?w=299" medium="image">
			<media:title type="html">picture-15</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/10/picture-171.png?w=299" medium="image">
			<media:title type="html">picture-171</media:title>
		</media:content>
	</item>
		<item>
		<title>Código de barra em python para boleto bancário.</title>
		<link>http://thiagosm.wordpress.com/2008/06/07/codigo-de-barra-em-python/</link>
		<comments>http://thiagosm.wordpress.com/2008/06/07/codigo-de-barra-em-python/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 06:02:19 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=18</guid>
		<description><![CDATA[A um tempo atrás, estava desenvolvendo um sistema para provedor à rádio e surgiu interesse de gerar boleto bancário para os clientes. A idéia era quando o cliente tivesse bloqueado, seria redirecionado para uma página de bloqueio e identificando-se por IP e CPF, disponibilizar impressão do boleto bancário para efetuar o pagamento. Eu já tinha [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=18&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A um tempo atrás, estava desenvolvendo um sistema para provedor à rádio e surgiu interesse de gerar boleto bancário para os clientes. A idéia era quando o cliente tivesse bloqueado, seria redirecionado para uma página de bloqueio e identificando-se por IP e CPF, disponibilizar impressão do boleto bancário para efetuar o pagamento.</p>
<p>Eu já tinha visto vários exemplos com java, php porém com python utilizando o padrão 2 por 5 intercalado eu não tinha achado. Como o sistema de provedor é feito em python com turbogears, o ideal era ser feito em python.</p>
<p>Vamos agora ao que interessa, mostrar a classe.</p>
<p>É necessário ter biblioteca <a href="http://www.pythonware.com/products/pil/"> PIL </a> instalada para utilizarmos a Image e a ImageDraw</p>
<p>Simples  classe que eu utilizo:</p>
<div style="font-size:12px;">
<pre><strong>#!/usr/bin/env python
# encoding: utf-8

import Image
import ImageDraw

class codigodebarra:
    def __init__(self):
        pass

    def getcodbarra(self, valor, posX=0, posY=0, height = 50):

        # padrão 2 por 5 intercalado ( utilizado em boletos bancários )
        padrao = ('00110', '10001', '01001', '11000', '00101',
                  '10100', '01100', '00011', '10010', '01010')

        # criando imagem
        imagem = Image.new('RGB',(750,80),'white')
        draw = ImageDraw.Draw(imagem)

        # verificando se o conteudo para gerar barra é impar, se for,
        # adiciona 0 no inicial para fazer intercalação em seguida dos pares 

        if (len(valor) % 2) != 0:
            valor= '0' + valor

        # faz intercalação dos pares
        l=''
        for i in range(0,len(valor),2):
            p1=padrao[int(valor[i])]
            p2=padrao[int(valor[i+1])]
            for p in range(0,5):
                l+=p1[:1] + p2[:1]
                p1=p1[1:]
                p2=p2[1:]

        # gerando espaços e barras
        barra=True
        b=''

        # P = preto
        # B = banco

        for i in range(0,len(l)):
            if l[i] == '0':
                if barra:
                    b+='P'
                    barra=False
                else:
                    b+='B'
                    barra=True
            else:
                if barra:
                    b+='PPP'
                    barra=False
                else:
                    b+='BBB'
                    barra=True

        # concatena inicio e fim
        b='PBPB' + b + 'PPPBP'

        # P = preto
        # B = banco 

        # percorre toda a string b e onde for P pinta de preto, onde for B pinta de banco 

        for i in range(0,len(b)):
            if b[i] == 'P':
                draw.line((posX,posY,posX,posY + height),'black')
            else:
                draw.line((posX,posY,posX,posY + height),'white')
            posX+=1
        return imagem

if __name__ == '__main__':
    # criando instância do objeto codigodebarra
    barra = codigodebarra()

    # codigo de barra completo em dígitos
    codigo='23793391265970787924921001306006538680000010567'
    # formato que deseja salvar a imagem (PNG,GIF)
    tipo='GIF'

    # retornando uma imagem a partir do código de barra
    image = barra.getcodbarra(codigo)

    # salvando imagem do tipo informado na variavel tipo
    image.save('%s.%s'%(codigo,tipo), tipo)

</strong></pre>
</div>
<p>Resultado do código :</p>
<p><a href="http://thiagosm.files.wordpress.com/2008/06/25codebar.gif"><img class="alignnone size-full wp-image-23" src="http://thiagosm.files.wordpress.com/2008/06/25codebar.gif" alt="" width="680" height="70" /></a></p>
<p style="text-align:center;">
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thiagosm.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thiagosm.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=18&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/06/07/codigo-de-barra-em-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/06/25codebar.gif" medium="image" />
	</item>
		<item>
		<title>jBlog</title>
		<link>http://thiagosm.wordpress.com/2008/05/27/jblog/</link>
		<comments>http://thiagosm.wordpress.com/2008/05/27/jblog/#comments</comments>
		<pubDate>Tue, 27 May 2008 02:11:13 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=14</guid>
		<description><![CDATA[Na UnP ( Universidade Potiguar) o professor da matéria de sistemas distribuídos pediu para que os alunos criassem um blog utilizando ejb + toplink. Resolvi postar aqui um simples blog feito em java + ejb + toplink + postgresql. Download: jBlog db postgresql<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=14&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://thiagosm.files.wordpress.com/2008/05/picture-7.png"><img class="alignnone size-medium wp-image-16" src="http://thiagosm.files.wordpress.com/2008/05/picture-7.png?w=206&#038;h=128" alt="" width="206" height="128" /></a><a href="http://thiagosm.files.wordpress.com/2008/05/picture-4.png"><img class="alignnone size-medium wp-image-15" src="http://thiagosm.files.wordpress.com/2008/05/picture-4.png?w=204&#038;h=127" alt="" width="204" height="127" /></a></p>
<p><a href="http://thiagosm.files.wordpress.com/2008/05/picture-9.png"><img class="alignnone size-medium wp-image-17" src="http://thiagosm.files.wordpress.com/2008/05/picture-9.png?w=197&#038;h=122" alt="" width="197" height="122" /></a></p>
<p>Na UnP ( Universidade Potiguar) o professor da matéria de sistemas distribuídos pediu para que os alunos criassem um blog utilizando ejb + toplink. Resolvi postar aqui um simples blog feito em java + ejb + toplink + postgresql.</p>
<p>Download:<br />
<a href="http://opencode.googlepages.com/jBlog.zip"> jBlog </a><br />
<a href="http://opencode.googlepages.com/blog_pgsql.backup"> db postgresql </a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thiagosm.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thiagosm.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=14&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/05/27/jblog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-7.png?w=300" medium="image" />

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-4.png?w=300" medium="image" />

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-9.png?w=300" medium="image" />
	</item>
		<item>
		<title>pysquidadmin</title>
		<link>http://thiagosm.wordpress.com/2008/05/22/pysquidadmin/</link>
		<comments>http://thiagosm.wordpress.com/2008/05/22/pysquidadmin/#comments</comments>
		<pubDate>Thu, 22 May 2008 16:05:20 +0000</pubDate>
		<dc:creator>thiagosm</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://thiagosm.wordpress.com/?p=10</guid>
		<description><![CDATA[Geralmente quando ia bloquear ou liberar algum site ou extensão, eu tinha que editar arquivo dar um reload no squid, etc&#8230;. Um dia, fiz um serviço pra um colégio e o técnico do colégio gostaria de uma forma mais facil de gerenciar os alunos e conteudo sem precisar ficar editando arquivos ou digitando comandos. Foi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=10&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://thiagosm.files.wordpress.com/2008/05/picture-12.png"><img class="alignnone size-medium wp-image-11" src="http://thiagosm.files.wordpress.com/2008/05/picture-12.png?w=203&#038;h=126" alt="" width="203" height="126" /></a><a href="http://thiagosm.files.wordpress.com/2008/05/picture-11.png"><img class="alignnone size-medium wp-image-12" src="http://thiagosm.files.wordpress.com/2008/05/picture-11.png?w=202&#038;h=125" alt="" width="202" height="125" /></a></p>
<p style="text-align:left;"><a href="http://thiagosm.files.wordpress.com/2008/05/picture-10.png"><img class="alignnone size-medium wp-image-13" src="http://thiagosm.files.wordpress.com/2008/05/picture-10.png?w=197&#038;h=122" alt="" width="197" height="122" /></a></p>
<p style="text-align:left;">Geralmente quando ia bloquear ou liberar algum site ou extensão, eu tinha que editar arquivo dar um reload no squid, etc&#8230;.  Um dia, fiz um serviço pra um colégio e o técnico do colégio gostaria de uma forma mais facil de gerenciar os alunos e conteudo sem precisar ficar editando arquivos ou digitando comandos.</p>
<p style="text-align:left;">Foi ai que eu pensei em criar um sistema web pequeno em python pra realizar o gerenciamento do <a href="http://www.squid-cache.org"> Squid </a> . Através de uma interface fácil, pode ser cadastrado os sites que os usuários não podem acessar, as extensões bloqueadas e também cadastrar os usuários informando a permissão ( liberado geral, acesso restrito a alguns sites, só pode acessar determinados sites ) .  Com os dados gravados no <a href="www.postgresql.org"> PostgreSQL </a>, são gerados  acls, http_access e arquivos de configuração para o squid, e com isso realizando o controle de acesso.</p>
<p>Eu ia utilizar ldap, já que o squid tem suporte muito bem e o ldap é um banco leve e rápido para consulta, mas como eu sempre utilizo postgresql, coloquei o squid pra rodar autenticando no postgresql e o sistema ficou utilizando o pgsql mesmo.</p>
<p>Técnologias utilizadas :</p>
<p>TurboGears</p>
<p>SQLObject</p>
<p>PostgreSQL</p>
<p>Squid</p>
<p>Linux</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/thiagosm.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/thiagosm.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagosm.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagosm.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagosm.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagosm.wordpress.com&amp;blog=3700969&amp;post=10&amp;subd=thiagosm&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagosm.wordpress.com/2008/05/22/pysquidadmin/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1416463b67e600a271fdc5beda0f6d9a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagosm</media:title>
		</media:content>

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-12.png?w=300" medium="image" />

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-11.png?w=300" medium="image" />

		<media:content url="http://thiagosm.files.wordpress.com/2008/05/picture-10.png?w=300" medium="image" />
	</item>
	</channel>
</rss>
