Script de dicionário Inglês para Português em Python

Olhando o meu histórico de comandos aqui no terminal vi que  um dos comandos que uso mais é o dic, mas este comando é um script que fiz em python que traduz  do inglês para português usando a base de dados do Babylon. Como meu inglês não é essas coisas todas, eu preciso por várias vezes no meu dia saber o significado de algumas palavras, então resolvi criar  este script para evitar ter que ir no site toda vez. Como eu sei que pode ser dificuldade de outras pessoas resolvi postar aqui no blog para ajudar:

#!/usr/bin/python
#-*- coding: utf-8 -*-
#------------------------------------------------------------------------+
#   Dicionário Inglês/Português Babylon                                             
#   por Fábio Cerqueira                                                  
#   Versão 0.1b para uso pessoal
#                                                                        
# 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 re

if len(sys.argv) < 2:
    print "Erro! Use:\n  %s palavra" % __file__
    sys.exit()
else:
    word = sys.argv&#91;1&#93;
    
try:
    down = urllib2.urlopen('http://online.babylon.com/cgi-bin/trans.cgi?layout=uol.txt&lang=ptg&word=%s' % word)
except:
    print 'Erro! Não foi possível conectar.'
    sys.exit(1)

texto = down.readlines()

ini = '<div style="margin: 5px;">\n'
fim = '</div>\n'

try:
    p = re.compile('(<&#91;^<>]+>)')
    for l in texto[texto.index(ini)+1:texto.index(fim)]:
        s = p.sub('',l.replace('\n',' '))
        print s.decode("iso-8859-1"),
except ValueError:
    print 'Erro! Nao foi possível localizar a palavra.'

Dica: para não ter que digitar o caminho completo de onde você vai colocar o arquivo na hora do uso, crie um link simbólico na pasta /bin/

Anúncios

Python Challenge

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

Google Earth no Ubuntu

Hoje depois de ler no Inovações tecnológicas sobre Marte no Google Earth fiquei curioso para ver como estavam as imagens e fui baixar pro meu Ubuntu 8.10. Fui no site do Google Earth e baixei o .bin da versão  5.0.11337.1968 (beta) para instalar.  A instalação correu sem problema. $ chmod +x GoogleEarthLinux.bin $  ./GoogleEarthLinux.bin Instalação ocorre normal, porém na hora de executar clicando no ícone da área de trabalho o programa parece que vai abrir corretamente, mas fecha-se inesperadamente. Fui executar pelo terminal e vi que aparecia o seguinte erro:

./googleearth-bin: relocation error: /usr/lib/i686/cmov/libssl.so.0.9.8: symbol BIO_test_flags, version OPENSSL_0.9.8 not defined in file libcrypto.so.0.9.8 with link time reference

Para corrigir: Na pasta do Google Earth ( cd ~/google-earth/ ) só movi o arquivo antigo libcrypto.so.0.9.8 e criei um link simbólico para ele da versão do /usr/lib com o mesmo nome:

$ mv libcrypto.so.0.9.8  libcrypto.so.0.9.8.old

$ sudo ln -s /usr/lib/libcrypto.so libcrypto.so.0.9.8

Feito isso é só rodar  o bicho que funciona normalmente. =D

Obs: Em relação as imagens de marte, eu não curti muito.

VimBook – O editor de texto Vim

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.

Dicas – Cursos online gratuitos

Estou em um grupo de pesquisa na faculdade (que anda meio parado, na verdade nem começou direito hehe 🙂 ) e a minha orientadora falou que deveria estudar WSDL e outros assuntos ligados a web services e em uma das minhas conversas com o oráculo cheguei ao site do Next Generation Center, que é um site mantido pela Intel que oferece cursos gratuitos de vários assuntos ligados a tecnologia da informação, o que mais gostei é que os cursos oferecidos são bem conceituais e também alguns na área de gerência de projeto.

É preciso cadastro, mas é rápido e gratuito. A cada módulo dos cursos você precisa fazer uma prova online e no fim você recebe um certificado de conclusão. Vale a pena conferir.

Next Generation: http://www.nextg.com.br