Tag Archive for 'python'

Python

Não esqueçam que tenho agora um blog que fala somente sobre Python, sob minha visão, sobre meu aprendizado !

Hoje o último post dele é: Questão de Python

Entrem e conheçam um pouco mais sobre esta maravilhosa linguagem de programação.

KomodoEdit e RabbitCVS ( svn cliente ) no Archlinux

Aproveitando o embalo do nosso colega de blog Fred, vou comentar rapidamente como instalar o KomodoEdit e o RabbitCVS no ArchLinux.

Bom, não preciso falar muito do Komodo, ele é um ótimo editor para várias linguagens de programação, voltado a linguagens de script, com SyntaxHighLight, autocomplete, projetos, e por ai vai, e depois de instalado ele, quando abre a primeira vez, faz uma varredura no seu sistema para dar uma carga na base dele de auto-complete, para que fique mais ágil quando você for programar. Antes das versão 5.2 que está disponivel atualmente nos repositorios do Arch, eu o achava, apesar de muito bom, muito lento, mas ontem o instalei e vi que está bem mais rapidão. hehe

Agora, p RabbitCVS é um ótimo cliente para o controle de versões Subversion, tah certo que está na versão 0.12 ainda, e creio que irá crescer bastante ainda. O Rabbit é um cliente svn ao estilo TortoiseSVN que tem para windows, integrado ao Nautilus, e quando você acessa uma pasta que tem um checkout feito, ele abre o menu com as várias opções de ações do svn ( merge, commit, update, etc… ) tornando assim muito mais ágil nosso trabalho. Eu particularmente gosto e muito deste estilo de cliente para svn.

Então fica aí a dica…

Ah, claro, para instalar no arch, você vai ter que digitar este monte de comandos no terminal ( lembrando sempre que quem usa o arch não tem medo algum do terminal, muito pelo contrário, o terminal é seu amigo ! haheHEAH ):


$ yaourt -S komodoedit
$ yaourt -S rabbitcvs

Outra dica é, instale o programinha aurvote também pelo yaourt, que quando você fizer este tipo de instalação ( do aur ) ele vai perguntar se você quer votar no pacote recém instalado, também nos ajudando a votar !

Sites:

Editor para windows…

Procura por expressão regular é o que há.. tudo de bom ! heheh

E o Programmer’s Notepad é um dos melhores editores para programação, e até mesmo textos simples, para windows que há. Seguido do Notepad++.

Ambos são leves, tem várias ferramentinhas e características que nos ajudam e muito !

Mas como o pnotepad abre arquivos maiores do que o notepad++, acabei por ter os dois, pois as vezes edito uns dumps de oracle que passam de 500Mb, que o notepad++ já não abre !

Mas enfim… seguem os sites:

http://www.pnotepad.org/

http://notepad-plus.sourceforge.net

Ah, e o Programmer’s Notepad ainda aceita scripts em python, com a lib PyPN, que ainda não usei, mas um dia destes vou averiguar melhor !

Python – Verificando o Subversion

Pessoal,

Escrevi um script em python que fica verificando quando foi o ultimo commit feito em um repositorio do SVN, porém, acho que este pode melhorar ainda e muito, mas meu conhecimento vai até aqui ( pelo menos agora ! ) .
E com o intuito de compartilhar este código com vocês e ainda receber algumas dicas como melhorá-lo, o coloquei no meu wiki.

http://wiki.berlotto.blog.br/

A moral é que ele tem disponível uma lista de repositorios svn, e cria uma Thread para cada um destes.
Então ele executa o comando para pegar a data do ultimo release do repositorio, via ’svn log’ e envia um email de aviso caso tenha mudado. Neste caso pode fazer qq outra operação tb.. mas para mim bastava o email !

Tem alguns pontos que percebi nele:

1. Ele só vai funcionar em ambiente Linux tb, por causa do comando… de repente tem outra forma de pegar esta informação
2. Quando chamamos ‘python svn-verificador.py’ ele fica trancado esperando que todas as threads estejam finalizadas. O que não ocorre até que eu dê um Kill -9 nele .

O interessante é utilizar ele em ambientes de Integração Contínua.

Mas o foco agora é melhorar o script, melhor utilizar os recursos da linguagem….

Por favor, contribuam com seu conhecimento…

Valew e Bom Feriado a todos !

Python – Comandos do sistema

Como fazer para executar um comando do shell pelo python e guardar seu resultado facilmente ?

Simples…

Digamos que eu queira buscar, por qq motivo que seja, o diretorio corrente pela linha de comando ( mesmo sabendo que temos como fazer isto pelo Python mesmo ), então basta utilizar o modulo ‘commands’:

import commands
diretorio = commands.getresult('pwd')
print diretorio

Pronto ! Nosso comando foi executado e retornou o resultado…

Veja mais em na documentação do Python.

Códigos python…

Olá,

Só passei aqui para deixar mais dois trechos de códigos em Python que montei para meu uso…
Precisei deles dois integrados, mas coloquei no wiki separadamente para ficar um pouco mais simples…

O primeiro é como enviar emails com o Python:
- http://wiki.berlotto.blog.br/index.php?title=Envio_de_emails

E o segundo, é como trabalhar com os parâmetros recebidos no seu script, de forma fácil e ágil:
- http://wiki.berlotto.blog.br/index.php?title=Controle_de_parametros/argumentos

Então é isto pessoal, deixem seu comentário sobre os códigos.

Um abraço…

Serializando json no django com wadofstuff

Como retornar json da model ou QuerySet em seu Django ?

Simples… utilizando o módulo DjangoFullSerializers, do WADOFSTUFF.
Link: http://code.google.com/p/wadofstuff/wiki/DjangoFullSerializers

Conforme escrito no wiki, este módulo, extende as funcionalidades do Django Built-in Serializer, adicionando 3 novas funcionalidades, inspiradas no RubyOnRails Json Serializer:
- excludes: onde você informa os campos que não serão serializados
- extras: onde você informa outras propriedades da model, que não sejam fields, para serem serializados. Métodos por exemplo.
- relations: onde você informa quais propriedades são listas ou dicionários que devem ter seus itens serializados também.

E isto é muito interessante, pois assim, com esta lib, conseguimos serializar nossa model e suas models relacionadas.
por exemplo

Dadas as models abaixo:

class Pessoa(models.Model):
    nome = models.CharField(max_length=50)
    pai  = models.ForeignKey(self)

quando serializar-mos ela, da seguinte forma ( levando em consideração que seu DjangoFullSerializers ja´está corretamente instalado):

json = serializers.serialize( 'json', Pessoa.objects.all() , indent=4, relations=('pai',) )

o json retornado será o seguinte:

[
    {
        "pk": 2,
        "model": "projeto.Pessoa",
        "fields": {
            "nome":"...",
            "pai": {
                "pk": 1,
                "model" : "projeto.Pessoa",
                "fields": {
                    "nome" : "..."
                }
            }
        }
    }
]

ou seja, serializando o objeto que mandamos, e os objetos relacionados a ele…
Muito bom ! E além de tudo, vai formatado se informado o parametro “indent”, caso não informado, vem flat…

Listar propriedades e métodos de objeto python

Como listar todos os ‘itens’ de um objeto em python ?
para saber o que existe de propriedades e métodos em um objeto python basta chamar a funcao ‘dir’, desta maneira:

variavel = 1
dir(variavel)

Pronto !
E para saber o que é cada item encontrado nesta classe, use a funcao ‘type’ , desta forma:

type(variavel.popriedade)

Blz !




Better Tag Cloud