O Primeiro poste de reabertura do blog, é bem útil pra quem usa o glade para desenhar suas interfaces GTK.

trata-se de apenas 5 linhas de programação em python.

# Emcapsulando a interface criada no Glade-3
 gladeFile = gtk.glade.XML('interface.glade')
 gladeFile.signal_autoconnect(self)
 self.widgets = {}
 #~ Pegando todos os widgets do Glade XML e adicionando a um dicionário
 for widget in gladeFile.get_widget_prefix(''):
 self.widgets[widget.get_name()] = gladeFile.get_widget(widget.get_name())
 

Agora um explicação rápida
O algoritimo ai encima, lê um a um os widgets do arquivo .glade e o adiciona a um dicionário, a posição do widget no dicionário é o mesmo nome do widget na interface glade.

Por exemplo um gtk.Entry que esteja com o nome de txt_nome no arquivo glade estára na possição self.widgets[‘txt_nome’] do dicionário.

Este algorítimo alem de simples, é bem útil, qualquer duvida é só perguntar

Olá pessoal, depois de mais de um ano sem postar nada, vou voltar a atualizar o blog.
Obrigado a todos que visitaram este blog, apesar de desatualizado, recebe vários acessos diariamente

Passo 1

Instale o CVS no computador

$ sudo apt-get install cvs

Passo 2
Coloque o Enlightenmente para baixar com o comando

cvs -z3 -d :pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17
isso vai demorar um bocado então vamos adiantando as outras coisas

Passo 3
instale os pacotes de compilação básica
# sudo apt-get install build-essential
instale as dependências para a compilação do Enlightenment
# sudo apt-get build-dep enlightenment
a maioria das dependências já estão instaladas, vamos só ter certeza
sudo apt-get install gcc make automake1.9 autoconf autoconf-archive libtool gettext libc6-dev zlib1g-dev libjpeg62-dev libpng12-dev libfreetype6-dev libxrender-dev libx11-dev libxinerama-dev libxss-dev libxext-dev libxrandr-dev libxp-dev libxfixes-dev libxdamage-dev libxcursor-dev libpam0g-dev dbus libdbus-1-dev

Passo 4
Vá se distrair um pouco porque provavelmente o passo 2 ainda não acabou sua parte

Passo 5
vamos compilar algumas libs

entre na pasta e17/libs
Compilando a lib eet
cd eet
./autogen.sh
make
sudo make install

Compilando a lib evas
cd ../evas
./autogen.sh
make
sudo make install

Compilando a lib ecore
cd ../ecore
./autogen.sh
make
sudo make install

Compilando a lib efreet
cd ../efreet
./autogen.sh
make
sudo make install

Compilando a lib embryo
cd ../embryo
./autogen.sh
make
sudo make install

Compilando a lib edje
cd ../edje
./autogen.sh
make
sudo make install

Compilando a lib e_dbus
cd ../e_dbus
./autogen.sh
make
sudo make install

Passo 6
Finalmente compilar o Enlightenment
cd ../../app/e
./autogen.sh
make #essa parte demora um bom tempo
sudo make install

Passo 7
vamos adicionar o Enlightenment no menu do GDM
crie e edite um arquivo assim
sudo gedit /usr/share/xsessions/enlightenment.desktop
dentro do arquivo adicione este conteúdo

[Desktop Entry]
Encoding=UTF-8
Name=Enlightenment
Name[pt]=Enlightenment
Name[pt_BR]=Enlightenment
Comment=This session logs you into Enlightenment
Comment[pt]=Esta sessão inicia-o no Enlightenment
Comment[pt_BR]=Iniciar uma sessão Enlightenment

Exec=enlightenment_start
TryExec=enlightenment_start
Type=Application

Salve e reinicie o seu servidor X
sudo /etc/init.d/gdm restart

Passo 8
Adicionar o theme de sua preferência aos aplicativos
sudo gedit ~/.gtkrc-2.0
dentro do arquivo adicione as seguintes linhas

gtk-font-name = “Bitstream Vera Sans 10”
gtk-theme-name = “Human”
gtk-icon-theme-name = “Human”

Salve e feche.
Pronto seu Enlightenment já está instalado e configurado na versão mais recente

Escrevi um script que compacta os arquivos de uma determinada pasta e envia para um email usando o sendEmail, e estou compartilhando com todos

Para enviar o email você precisara ter instalado em seu GNU/Linux o sendEmail, o sendEmail é um script escrito em perl que usa um servidor smtp remoto, sendo assim você não precisa configurar um servidor de email só para isso.

mais detalhes sobre o sendEmail podem ser encontrados aqui

Vamos ao script

esta primeira parte compacta todos os arquivos da pasta com a extensão declarada no comando para um arquivo .tar.gz, se já possuir um arquivo de backup ele criara outro com o numero seguinte como pyGaneHouseAdmin_1.tar.gz, pyGaneHouseAdmin_2.tar.gz, pyGaneHouseAdmin_3.tar.gz e assim por diante


#compactando os arquivos
cont=1
for i in `ls backup/*.tar.gz`; do
cont=`expr $cont + 1`
done
arquivo="backup/pyGaneHouseAdmin_$cont.tar.gz"
comando="tar -zcvf $arquivo *.sql *.py *.db *.glade *.sh"
$comando

Nesta parte do script você especifica os dados do email como email, usuário, senha, destinatário

#Coletando dados para enviar o email
anexo="backup/pyGaneHouseAdmin_$cont.tar.gz"
remetente="endereço@email.com"
destinatario="endereço@email.com"
titulo="Backup pyGameHouseAdmin v$cont"
data=`date '+%d/%m/%Y %H:%M'`
mensagem="
$data\n
Backup dos arquivos .glade, .py, .sh, .sql e .db"
smtp="smtp.email.com:25"
usuario="usuário"
senha="senha"

E agora é só enviar o email com o comando a seguir.


#enviando o email
#obs. é necessariamente ter o sendEmail estalado
comando="sendEmail -f $remetente -t $destinatario -u $titulo -m $mensagem -a $anexo -s $smtp -xu $usuario -xp $senha"
$comando

Obs. Para enviar email usando o smtp do Gmail, você deve instalar no seu perl os modulos Net::SSLeay e IO::Socket::SSL, no site do sendEmail tem mais detalhes

Quando estou programando em PyGTK sempre me deparo com alguma dúvida, sobre como usar algum Widget, é ai que eu vou até a documentação do PyGTK e tiro minhas duvidas sobre o mesmo.

Mas e quando a internet está com problemas? Ou pior, você está em um lugar que não tem internet?

Ai podemos contar com o DevHelp, o DevHelp é um navegador de documentação API para o GNOME 2.

É bem simples de usar, por exemplo, para ter a documentação do PyGTK no seu DevHelp, basta instalar o pacote python-gtk-doc, isso é valido para a maioria dos casos como glade-doc-2,

para instalar o DevHelp no GNU/Debian e derivados basta digitar no console


sudo apt-get install devhelp

para instalar nas outras distribuições GNU/Linux, acesse o ftp do projeto GNOME e baixe o fonte do DevHelp
http://ftp.gnome.org/pub/GNOME/sources/devhelp/

E para instalar a documentação do que você quiser, basta verificar o pacote com -doc como em


sudo apt-get install python-gtk2-doc

A interface do DevHelp é bem amigável.
Espero que seja tão útil para vocês quanto é para mim.

Para instalar o Geany a partir do SVN você precisa compilar o código fonte manualmente, o processo é bem simples, mesmo para quem não é muito acostumado com isso.
Bem a vantagem de se compilar o Geany a partir do SVN é que você vai pegar a versão mais nova do software, a desvantagem é que ela pode conter bugs.
Eu estou usando GNU/Debian, isso quer dizer que vale para qualquer distribuição baseada em GNU/Debian.

Para começar, você tem que ter instalado em seu computador todos os compiladores e bibliotecas nessessárias para compilação de pacotes em seu computador, se você não tem, vou te ensinar um forma bem simples de passar a ter.
Digite no terminal como root.
apt-get build-dep geany
apt-get install make automake libtool intltool autoconf

Isso vai fazer com que todas as dependencias para a compilação do Geany seja instalada no seu computador.

Para baixa o código fonte do Geany do SVN você precisa ter instalado em seu computador o Subversion, então como digite como root
apt-get install subversion

Agora vamos baixar os fontes do Geany
digite no terminal
svn co https://geany.svn.sourceforge.net/svnroot/geany/trunk geany
Você deve aceitar o certificado, pode ser temporariamente mesmo, e então ele criara uma pasta geany e baixara todos os arquivos do svn la dentro.

Para finalmente compilarmos o Geany digite
./autogen.sh
make

Até esse ponto o código já está compilado, para instalar no sistema digite como root
make install

Pronto agora o Geany já está instalado no seu sistema na versão mais nova.

Para usar SQLite com Python é preciso instalar um biblioteca chamada pysqlite2 então vamos lá

No Ubuntu, GNU/Debian e derivados

#sudo apt-get install python-pysqlite2

No Windows você precisa baixar e instalar tudo manualmente, segue o link para o download

Para a verão 2.5 do python PySqlite2

Agora vamos ao que realmente interessa.

importa as bibliotecas para trabalhar com sqlite


from pysqlite2 import dbapi2 as sqlite

Conecta o sqlite e abre o arquivo de banco de dados databade.db caso o arquivo não exista ele ira cria-lo


sqlConnect = sqlite.connect('database.db')
sqlCursor = sqlConnect.cursor()

Exemplo de como fazer um INSERT


codigo = 1
nome = 'Carlos Henrique Marques da Cunha Filho'
idade = '23'

sql = "INSERT INTO tabela (codigo, nome, idade) VALUES (%s, '%s', '%s')" % (codigo, nome, idade)
sqlCursor.execute(sql)
sqlConnect.commit()

Exemplo de como fazer um SELECT


codigo = 1

sql = "SELECT * FROM tabela WHERE codigo = %s" % (codigo)
sqlCursor.execute(sql)
resultado = sqlCursor.fetchall()

Exemplo de como fazer um UPDATE


codigo = 1
nome = 'Carlos H. M. Cunha Filho'
idade = '25'

sql = "UPDATE tabela SET (nome = '%s', idade = '%') WHERE codigo = %s" % (codigo, nome, idade)
sqlCursor.execute(sql)
sqlConnect.commit()

Exemplo de como fazer um DELETE

codigo = 1
sql = "DELETE FROM tabela WHERE codigo = %s" % (codigo)

sqlCursor.execute(sql)

sqlCconnect.commit()

A metodologia para usar outros banco de dados é a mesma, em breve darei exemplos de como usar com MySQL também.

Hoje adicionei mais um software na minha pagina de projetos pessoais, é um software pequeno escrito em PyGTK, com banco de dados SQLite.

Para fins de administração de “games house”, ainda está em faze inicial, mas já é funcional, até onde foi escrito.

O próximo passo é colocar alguma documentação, e melhorar um um pouco os recursos, acho que logo terei uma versão final.

aos interessados fiquem de olho na pagina do projeto no Google Code

http://code.google.com/p/pygamehouseadmin/

Quando comecei a aprender PyGTK eu pensei em criar um programa simples para salvar os dados de Login e Senha dos vários servidores de Lineage 2 que eu jogava, como eram vários servidores e varias contas de usuário por servidor era fácil de esquecer.

Então comecei um projeto chamado PyL2Catalogo, criei uma interface no Glade e comecei a escrever o código, isso ja faz algum tempo e o programa esta perdido dentro de um pendrive, mas agora vou disponibilizar eles para que quem quiser aprender a usar PyGTK com Glade possa aproveitar.
Como não é possivel upar um arquivo compactado para o wordpress, vou colocar o arquivo no grupo PyGTK-Brasil e vou deixar só o link aqui para quem quiser pegar.

PyL2Catalogo.zip

E um screenshot para quem quiser conferir antes de baixar

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe – quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!