MarinhoBrandão.com
"O risco que se corre ao se introduzir novas tecnologias é menor do que aquele que se corre ao não introduzi-las." ;)

Aplicações plugáveis django-antivirus e django-ads, e outras coisas

Publicado por marinho, há 3 anos, 7 meses | django

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/