Fábio Cerqueira

Cultura e Tecnologia

Archive for Janeiro 2009

VimBook – O editor de texto Vim

com 4 comentários

vim_logo1Eu 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.

Escrito por fabiocerqueira

Janeiro 31, 2009 em 6:33 pm

Publicado em Dicas, Outros, Programação

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 ,