Archive for the ‘Programação’ Category
Aprendendo Django no Planeta Terra
Hoje estava olhando os emails da lista do Python Brasil e vi que novamente alguém perguntava sobre Python voltado para Web e pedia uma exemplo de alguma aplicação realmente interessante.
Vejo que muita gente procura Ruby hoje no Brasil por causa do Rails, porém não quero ver Python ser ligado ao Django ou qualquer outro framework desta maneira, no entanto na thread lá na lista indiquei um site que fala sobre Django totalmente em português escrito por Marinho Brandão. Eu acompanhava o trabalho no início, mas havia deixado de acompanhar por questão de tempo, olhei como estava o andamento e fiquei muito empolgado e mesmo com atraso resolvi divulgar este belo trabalho.
Quem tem curiosidade de conhecer e aprender Python e Django é realmente o melhor trabalho que conheço em português sobre Django e o autor tem uma forma muito interessante de abordar o assunto.
VimBook – O editor de texto Vim
Eu comecei a mexer no Vim depois que precisei fazer um trabalho na faculdade no SO Minix, e como ele não tinha interface gráfica como eu estava acostumado(Estilo Windows) tive que editar os códigos num editor feito para rodar no terminal. Fui apresentado ao Vim, na verdade já tinha visto comentários sobre esse editor em outros blogs.
No início foi bem complicado e eu não conseguia nem fechar o bicho.Em outubro do ano passado migrei pro Ubuntu e tenho usado o vim como o meu principal editor de texto, mas ainda não aproveito todos os recursos que ele pode oferecer.
Vi no blog Vivaotux um post falando de um projeto para fazer um livro sobre o Vim e fiquei acompanhando, essa semana o Sergio Luiz Araújo Silva,autor do Vivaotux, avisou do livro na lista do PUG-CE(PythonUserGroup-Ceará) . Baixei e gostei muito do resultado, estou lendo agora e resolvi divulgar o projeto.
Para mais informações sobre o livro acesse http://code.google.com/p/vimbook/
Lembrando que você também pode ser um colaborador. =D
Creio que com o livro e a prática eu poderei usar o Vim de maneira mais produtiva.
Baixando vídeo do youtube com Python
No meu “ócio”(Na verdade não era para está hehe xD) quis baixar vídeo do youtube e resolvi criar um script simples para fazer download do youtube usando Python.
Resolvi compartilhar porque acho importante que exemplos sejam distribuídos na net para facilitar o aprendizado e também existe a possibilidade de alguém indicar melhorias no código que eu escrevi, ai eu posso aprender também. =D
#!/usr/bin/python
#-*- coding: utf-8 -*-
#------------------------------------------------------------------------+
# Download Vídeo Youtube
# por Fábio Cerqueira
# Versão desenvolvida na aula de computador e sociedade haha xD
#
# Licença
# Copyright (C) 2009 Fábio Cerqueira
#
# Este programa é software livre; você pode redistribuí-lo e/ou
# modificá-lo sob os termos da Licença Pública Geral GNU, conforme
# publicada pela Free Software Foundation; tanto a versão 2 da
# Licença como (a seu critério) qualquer versão mais nova.
# Este programa é distribuído na expectativa de ser útil, mas SEM
# QUALQUER GARANTIA; sem mesmo a garantia implícita de
# COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM
# PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais
# detalhes.
#
# Você deve ter recebido uma cópia da Licença Pública Geral GNU
# junto com este programa; se não, escreva para a Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307, USA.
#
# Para consultar texto em inglês visite:
# http://www.gnu.org/licenses/gpl.txt
#
#------------------------------------------------------------------------+
import urllib2
import sys
if len(sys.argv) < 2:
print """Erro! Syntax: youtube iddovideo
Ex: youtube PBmmBDPXwcY
"""
sys.exit()
else:
idVideo = sys.argv[1]
print 'Pegando o link do video.'
page = urllib2.urlopen('http://www.youtube.com/watch?v=' + idVideo)
texto = page.readlines()
for l in texto:
if 'VIDEO_TITLE' in l:
fileName = l.split("'")[3].replace(' ','_') + '.flv'
if 'SWF_ARGS' in l:
swfArgs = l.split('"')
break
video_id = swfArgs[swfArgs.index('video_id') + 2]
t = swfArgs[swfArgs.index('t') + 2]
print "Fazendo download..."
fileDown = urllib2.urlopen('http://www.youtube.com/get_video?video_id=%s&t=%s' % (video_id,t)).readlines()
fileSave = open(fileName,'wb')
fileSave.writelines(fileDown)
fileSave.close()
print "Download concluído."
Atualização para exibir barra de progresso.
#!/usr/bin/python
#-*- coding: utf-8 -*-
#------------------------------------------------------------------------+
# Download Vídeo Youtube
# por Fábio Cerqueira
# Versão com barra de progresso usando o urlgrabber
#
# Licença
# Copyright (C) 2009 Fábio Cerqueira
#
# Este programa é software livre; você pode redistribuí-lo e/ou
# modificá-lo sob os termos da Licença Pública Geral GNU, conforme
# publicada pela Free Software Foundation; tanto a versão 2 da
# Licença como (a seu critério) qualquer versão mais nova.
# Este programa é distribuído na expectativa de ser útil, mas SEM
# QUALQUER GARANTIA; sem mesmo a garantia implícita de
# COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM
# PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais
# detalhes.
# Para consultar texto em inglês visite:
# http://www.gnu.org/licenses/gpl.txt
#
#------------------------------------------------------------------------+
import urllib2
import sys
import urlgrabber
import urlgrabber.progress
if len(sys.argv) < 2:
print """Erro! Syntax: youtube iddovideo
Ex: youtube PBmmBDPXwcY
"""
sys.exit()
else:
idVideo = sys.argv[1]
print 'Pegando o link do video.'
page = urllib2.urlopen('http://www.youtube.com/watch?v=' + idVideo)
texto = page.readlines()
for l in texto:
if 'VIDEO_TITLE' in l:
fileName = l.split("'")[3].replace(' ','_') + '.flv'
if 'SWF_ARGS' in l:
swfArgs = l.split('"')
break
video_id = swfArgs[swfArgs.index('video_id') + 2]
t = swfArgs[swfArgs.index('t') + 2]
print "Fazendo download..."
url = 'http://www.youtube.com/get_video?video_id=%s&t=%s' % (video_id,t)
prog = urlgrabber.progress.text_progress_meter()
urlgrabber.urlgrab(url,fileName,progress_obj=prog)
Slides do minicurso de Python

Na SECOMP da UECE do ano passado, setembro de 2008, eu ministrei um minicurso de Python visando a divulgação da linguagem na universidade e também a extensão do meu aprendizado. Para o curso eu preparei alguns slides para as aulas, não tem as apresentações de todo o conteúdo do curso, pois alguma parte foi na prática.
Resolvi disponibilizara na web para que exista mais material de Python em português.
Introdução
Estruturas de dados
Introdução à programação funcional
nota: O material pode ser usado e alterado desde que os créditos sejam mantidos.
Qualquer erro que seja encontrado, me avisar para eu atualizar pelo menos aqui no blog. =D
Para quem tem preguiça de cadastra do slideshare para fazer download: http://www.bugmenot.com/view/slideshare.net
Brincando com pyGame nasceu isso =D

Para quem gosta do jogo BoxWorld vai ai um joguinho bom para passar o tempo e pensar.
Como jogar:
- Direcionais – movem o personagem
- R – Reinicia o mapa
- W – Passa do mapa
- Ctrl + Z – Desfaz
Link do jogo: BoxWorld.zip
Detalhe que o jogo foi passado para python e pygame em um dia. Antes já tinha feito o mesmo jogo usando mircscript. Aos programadores Python que curtem pyGame fiz o upload do código fonte também. Bom estudo e façam bom proveito. \o
Source no Box.net
Source no Github
Blog véi ativo hauihiauahi =D

