Fábio Cerqueira

Cultura e Tecnologia

Archive for the ‘python’ Category

Python Challenge

sem comentários

Aprenda python com o riddle PythonChallenge, o jogo possui 33 níveis atualmente, porém não é tão simples. Você precisa fazer alguns códigos em Python(Não obrigatoriamente, mas as dicas levam sempre para Python) para evitar tarefas que seriam bem cansativas se fossem feitas a mão.

Como jogar?

A cada nível o jogo vai lhe dar dicas em vários lugares diferentes, mas sempre no arquivo. A imagem é dica, os textos são dicas e até mesmo no código fonte existem dicas.

A resposta é feita trocando o arquivo da url com a nova resposta.
Exemplo:

http://www.pythonchallenge.com/pc/def/nivel1.html

se a resposta for nivel2 você deve colocar

http://www.pythonchallenge.com/pc/def/nivel2.html

Existe um forum, um wiki e o canal #pythonchallenge na rede freenode
Eu estou no nível 5 e já precisei usar vários código em Python para resolver e foi um bom exercício. Evitem ver as respostas antes de resolver. Bom jogo!
PS: Quando você passa para o próximo nível você pode ver as soluções do nível anterior. Tem uma galera que viaja na solução. hehe

Escrito por fabiocerqueira

Março 15, 2009 em 7:40 pm

Publicado em Dicas, Outros, Programação, python

Etiquetado com , , ,

O código fonte do Jaiku foi liberado

sem comentários

Jaiku é uma rede social de micro-blogging que foi lançado em 2006 por Jyri Engeström e adquirido pela Google em 2007. O Jaiku possui caracteristicas semelhantes ao twitter e quando o twitter baleiava o jaiku foi muitas vezes citado como substituto. Porém o passarinho azul não morreu e o Jaiku ainda teria um forte concorrente.

A Google então resolveu parar com desenvolvimento do Jaiku e resolveu disponibilizar o código fonte dele que agora é feito com o Google App Engine(Python) no Google Code Project.

Você pode ver o código do projeto em: JaikuEngine

E também foi disponibilizado o código do cliente Jaiku para celular que pode ser baixando em: Client Jaiku Mobile

meu jaiku: http://fabiocerqueira.jaiku.com

meu twitter: @fabiocerqueira

Escrito por fabiocerqueira

Março 15, 2009 em 12:44 am

Aprendendo Django no Planeta Terra

sem comentários

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.

A Django project.
Links:

Aprendendo Django no Planeta Terra

Django Project

Django Brasil

@djangobrasil

Escrito por fabiocerqueira

Março 10, 2009 em 2:12 am

Publicado em Programação, python

Etiquetado com , , ,

Baixando vídeo do youtube com Python

com 10 comentários

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)

Escrito por fabiocerqueira

Janeiro 19, 2009 em 10:05 pm

Slides do minicurso de Python

com 4 comentários

logo 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

download aqui

Estruturas de dados

download aqui

Introdução à programação funcional

download aqui

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

Escrito por fabiocerqueira

Janeiro 12, 2009 em 9:13 pm

Publicado em Programação, python

Etiquetado com ,