Aplicações plugáveis django-antivirus e django-ads, e outras coisas
Dois meses.
É tempo demais para ficar sem publicar nenhum artigo sequer.
Mas foi um tempo que passou rápido demais, eu francamente não havia percebido que se foram 2 meses desde o último artigo.
Fazendo um resumo geral desse tempo, basicamente trabalhei em minhas tarefas diárias na WorldNews [1] e no VivixVideo [2], tive muitas horas divertidas com a Tarsila [3] e alguma dedicação em projetos livres (mais detalhes mais adiante). Também estive mais envolvido que o normal no mercado financeiro, agora operando como day trader, e você sabe: vivemos dias atribulados na bolsa, então toda a atenção é necessária.
Mas enfim, quero mesmo é falar sobre o que trabalhei nas últimas semanas que está disponível para desenvolvedores Python que utilizam Django.
django-dynamic
Ainda engatinhando. É um projeto que visa no longo prazo oferecer uma alternativa amigável para publicação e manutenção de sites em Django. Já conta com gerenciador de configurações diversas para o site (entre elas o recurso de colocar o site em manutenção através do Admin).
Conta também com um SQL Shell e um File Manager, respectivamente para gerenciar o banco de dados e os arquivos do site.
Veja mais detalhes em [4]
django-antivirus
Projeto que fiz ontem.
Trata-se da integração do Django com antivirus. Neste momento somente o ClamAV é suportado. Em resumo a aplicação oferece uma classe de modelo para se registrar arquivos e solicitar sua verificação por virus.
Isso pode ser feito facilmente por um template filter, que se resume a informar o objeto e o nome do campo onde está informado o arquivo. O retorno desse filtro é uma requisição Ajax que verifica o arquivo por virus e exibe um link para download. Caso um virus seja encontrado, é exibida uma mensagem com essa informação e o arquivo é verificado somente uma vez, portanto, na próxima vez que alguém requisita aquela página ela exibe a informação armazenada.
Mais detalhes em [5]
django-ads
Aplicação que levou uns 10 dias de trabalho. Em poucas palavras, faz o que o Google AdWords faz - guardadas as devidas proporções. Também tem um recurso interessante para a publicação rotativa ou baseada em regras para banners, propagandas e outros programas de afiliados. Simples de usar e bastante poderoso.
Mais detalhes em [6]
SectionedForm
Não sei se o nome ficou bom, mas o código me ajudou bastante.
Sabemos que o Admin permite se dividir o form em seções, através dos fieldsets. Mas isso não é suportado pelo NewForms.
Pois bem, esse snippet é pra isso. Você herda seu form do SectionedForm and declara os atributos:
sections = (
(None, ('name','age','date')),
(_('Last Employment'), ('name','date','position','location_country','location_city')),
)Ele irá criar um subtitulo "Last Employment" e colocar os campos listados abaixo ;)
Mais detalhes em [7]
Bom, é isso aí. Outros snippets interessante que fiz podem ser encontrados em [8]. No mais agora é aguardar ansiosamente pela PyCon Rio [9] e pela versão 1.0.
Links relacionados
| [1] | http://wn.com/ |
| [2] | http://vivixvideo.com/ |
| [3] | http://www.flickr.com/photos/marinho/1173837495/in/set-72157594192378034/ |
| [4] | http://code.google.com/p/django-dynamic/ |
| [5] | http://code.google.com/p/django-antivirus/ |
| [6] | http://code.google.com/p/django-ads/ |
| [7] | http://www.djangosnippets.org/snippets/798/ |
| [8] | http://www.djangosnippets.org/users/marinho/ |
| [9] | http://pyconbrasil.com.br/ |
Marinho Brandão