domingo, 1 de novembro de 2009

Ambiente perfeito para desenvolvimento Python e Qt (eclipse com Qt Designer)

Após testar várias IDEs, finalmente acredito ter encontrado a configuração perfeita e confortável para o desenvolvimento de Python e Qt: Eclipse + Pydev + qt-eclipse-integration (Eclipse com Qt Designer integrado). Achei fantástico pois temos tudo em uma única IDE, e o melhor com suporte a pyuic.

Para obter este resultado basta seguir as dicas abaixo:

Parte 1:
Para quem usa windows:(links no final do post)

- Faça o download do IDE Eclipse e instale normalmente. Aqui instalei a versão eclipse-SDK-3.5.1-win32
- Abra o eclipse e instale o Pydev. Para maiores destalhes consulte o google.
- Faça o download do 'qt-eclipse-integration-win32-1.5.3'
Instale da seguinte forma:

Em destination folder pode ficar o padrão 'C:\Arquivos de programas\Trolltech\Eclipse'.
Seguindo com a intalação, você deverá indicar o caminho para o Eclipse, no meu caso 'C:\Arquivos de programas\eclipse'
Caso tenha o MinGW poderá indicar o caminho para o binário, mas em caso negativo, apenas ignore o erro e escolha sim.

Parte 2:
Configurando o Eclipse:
Ao executar o eclipse note que algumas barras de ferramentas do Qt Designer já estão integradas a interface do eclipse, para adicionar o resto, vá em 'window -> show view -> Other...' note que existe uma pasta 'Qt' basta clicar e ir dando ok e repetindo a operação até deixar a seu gosto.

Parte 3:
Configurando suporte ao pyuic no eclipse:

- clique em 'Run -> External Tools -> External Tools Configurations...'
- na nova janela, clique no ícone 'New'
- no campo 'Name' coloque 'PyUIC'
- no campo 'Location' coloque o caminho para o python.exe, no meu caso 'C:\Python26\python.exe'
- no campo 'Arguments' coloque o caminho para o pyuic, no meu caso ficou
assim: "C:\Python26\Lib\site-packages\PyQt4\uic\pyuic.py"${resource_loc}
- no campo 'Common' em 'Standard Input/ Output'
marque a opção 'File' e
coloque a variável
'${resource_loc}.py'
- na aba 'Build' desmarque a opção 'Build before launch'
- na aba 'Refresh' marque a opção 'Refresh resources upon completion'
- aperte 'Apply'


para usar:
Lembre-se que deve selecionar o arquivo antes:
- selecione um .ui no 'PyDev Package Explorer'
- no menu, clique 'Run PyUIC'
- um novo arquivo será gerado


No linux testarei em outra oportunidade.

mais detalhes aqui e algumas telas aqui
link para o qt-eclipse-integration

sábado, 31 de outubro de 2009

versao alpha-0.6 e embedded player ??

Sou novato com python e Qt, mas gostaria muito de poder colocar um player embutido no projeto de forma que tudo fique reunido em um único programa. Mas logo surgem dúvidas: Qual caminho seguir?? Qual a melhor opção para integrar um player ao projeto. O que me ocorre no momento é: ou usar o phonon ou fazer um front-end para o mplayer???

e agora?

Python e seriados.... um projeto??

Gosto muito de alguns seriados gringos. Como muitos em nosso país, me sinto abandonado pelos meios tradicionais. Seja na tv aberta ou na tv por assinatura (o que é pior!), vemos sempre mais e mais do mesmo: Total descaso e falta de profissionalismo por parte dos canais locais! É uma soma de fatores que vão desde a péssima escolha da programação, os horários malucos, seriados que somem e voltam ao ar 3 anos depois, levar 3 anos para assistir a continuação deste mesmo seriado (humm), a eterna reprise de episódios... sem falar nas legendas toscas e completamente erradas... e para completar a visão ou melhor som do inferno, resolveram que o negócio agora é dublar tudo! Imagine um exemplo: Hugh Laurie dublado? Não obrigado!! Não tem como imaginar!!! Perderia completamente a graça e, além de tudo, a falta de respeito com o cliente tem limites!

Por estes motivos, resolvi, já faz alguns anos, que não mais dependeria dos outros pra assistir o que gosto! Primeira medida: cancelar a sky! Drástico? Não!! Apenas aplicar a grana em algo melhor, ou seja, mais internet (yeahhh!!!!!), pois eu iria baixar o que gosto de ver!

Nada prático. Diariamente era uma trabalheira na busca por links de seriados que gosto... obviamente veio a idéia: Isso poderia ser mais fácil... afinal eu trabalho na área, conheço unix e linux já fazem mais de 10 anos, tenho um servidor em minha casa (slackware 24/7) daria para automatizar a tarefa e foi o que fiz... logo tinha um conjunto de shell scritps que davam conta da tarefa. Algumas funcionalidades:

- busca e download automáticos de episódios novos
- organizar os episódios novos por diretórios (eu sou do tempo do diretório.. nada de pastas!)
- apagar por padrão ou mover um episódio de um seriado para um local onde fica salvo
- gerar rss para informar da chegada de episódios novos

Basicamente isso.

Para assistir aos episódios, uso uma versão modificada do video game da "Microfofa"... o xbox original rodando o xbmc (XBOX MEDIA PLAYER) ligado a meu AP - Linksys...

Para encurtar a novela, resolvi aprender uma linguagem nova de programação... estava na hora! Optei por python. A linguagem mais fantástica que já vi! ;-)

Juntando uma coisa com a outra, resolvi portar meu sistema de pegar seriados do bash para python... e com 2 dias de brincadeiras em python já estava assistindo a novos episódios baixados pelo esquema novo.

Após comentar com amigos que também gostam de ver seriados e estavam reclamando das mesmas coisas que eu... o próximo passo era bastante claro: tornar este sistema um projeto de software livre - gpl, amigável, com suportes as 3 plataformas e de quebra eu iria estudar e aprender muito mais sobre python.

Nasceu desta forma o ShowFinder. A pagina do projeto esta aqui http://sourceforge.net/projects/showfinder , ainda está em pre-alpha, mas algumas funções que tenho em mente:

- busca automática de links ed2k e torrents de seriados favorítos
- informações sobre seriados
- busca e download automático das legendas
- gerenciamento automático das pastas contendo os episódios
- rss para informar a chegada de novos episódios
- (teste)possibilidade de enviar sms para informar a chegada de eps
- player integrado com suporte a vários codecs

De momento era isso e desculpem o longo post!