Arquivo da categoria 'Python'

Django EmailMessage(Erro Com Cópia Oculta)

Postado por Ricardo Perez em 8/09/2008

Hoje deparei com um pequeno problema no módulo EmailMessage do Django, eu precisava mandar um email oculto em uma certa funcionalidade, apesar do EmailMessage dar suporte a cópia oculta(BCC), ele definitvamente mostra para os outros destinatários do email quem foi enviado o email oculto(¬¬), dando uma buscadinha no Google encontrei essa snippet, FixedEmailMessage(http://www.djangosnippets.org/snippets/630/), que além de resolver este problema, também tem suporte a CC.

Vai la um exemplo:


FixedEmailMessage('titulo', 'corpo', from_email='ex@exemplo.com', to=['para@exemplo.com'], bcc=['oculto@email.com'], cc=['copiado@exemplo.com']).send()

Referência: http://www.djangosnippets.org/snippets/630/

GoTo: Agilizando acessos a comandos comuns

Postado por Rafael Sierra em 8/05/2008

Quantas vezes você já teve que abrir 5 terminais e em cada um digitar algo como:
ssh usuario@servidor -p porta

Ai depois tem que voltar em cada um pra digitar a senha e só então entrar no servidor.
Afim de agilizar um pouco esse processo, criei esse script que permite que você execute os comandos mais comuns com um simples:
goto 0

Para instalar o programa basta baixar o script aqui, colocar em algum lugar do seu path e adicionar permissão de execução:

$ wget http://blog.stiod.com.br/wp-content/uploads/goto
$ sudo mv goto /usr/bin/
$ sudo chmod +x /usr/bin/goto

A manutenção dos comandos é bastante simples, basta executar o goto sem passar nenhum argumento adicional e você vai cair na interface de gerencia dele, algo como:

Chose an option:

	add <command>
	del <id>
	edit <id <new-command>
	quit
	license
:

Para adicionar um comando na lista, basta digitar:
: add ssh user@servidor -p porta

Em seguida esse comando vai automaticamente aparecer na lista de comandos disponíveis:

Chose an option:
	0: ssh user@servidor -p porta

	add <command>
	del <id>
	edit <id> 

Lembrando que o comando pode ser qualquer coisa que esteja no seu $PATH e o "cd" (que faz parte do shell -seja bash, sh, ksh, etc-)

Para remover um comando da lista, basta digitar "del 0", ou o número do comando listado.
Caso queira modificar um comando, masta digitar "edit 0 comando novo".

Para executar um atalho, basta digitar no shell:

$ goto 0

E ele automaticamente vai executar o comando programado.

P.S.: Essa ideia não foi minha, ela foi kibada de um script que o Ulisses fez.

Raiz cúbica?

Postado por Gabriel Verta em 15/04/2008

Como que eu faço a raiz cúbica de um número em python?

Ué? Raiz cúbica é o mesmo que o numero elevado a 1/3.. a raiz quarta seria o numero elevado a 1/4... a raiz n seria o numero elevado a 1/n...

[python]
8 ** (1.0/3)
[/python]
ou ainda...
[python]
import math
math.pow(8, 1.0/3)
[/python]
Retorna a raiz cúbica de 8, que é 2.

*O (Um Ponto Zero) é para que o resultado retorne um float para elevar ao "número quebrado"..

Python Tips: Calcular Fatorial Usando lambda

Postado por Ricardo Perez em 29/02/2008

Hoje vou passar uma dica muita interessente, para fazer uma função recursiva usando lambda em python, como ja foi postado pelo Gabriel(Inclusive ele me ajudou nesse post) à alguns meses atrás, lambda(não lambida) da o programador a possibilidade de fazer uma função em apenas uma linha. Como exemplo vou usar a manjada função recursiva para calculo do fatorial.

[python]
fatorial = lambda x: ((x maior 1) and x*fatorial(x-1) or 1)
[/python]

Viu como é simples???? eu poderia mostra como ficaria usando a função normal, mas eu teria que escrever muito código e eu to com preguiça de fazer isso agora, vale a pena notar também o if ternário.

ps.:o parser do wordpress bugou o sinal de >(maior) dentro do código.

UPDATE(20/03/2008)!!!!: Pessoal MIL DESCULPAS eu acabei me enganando e trocando o sinal *(que seria o correto) por +, Agradeço ao @Waa pelo alerta!!!

Meu primeiro plugin pro Gedit

Postado por Rafael Sierra em 12/02/2008

A necessidade definitivamente é a mãe da criação, eu tava editando um texto no Gedit e precisei comentar alguns quilos de texto (que foram colocados la apenas para referência e serão apagados) e eu precisei comentar ele, mas não encontrei uma forma fácil de fazer isso no editor, pensei em fazer uma substituição usando expressão regular, mas não encontrei essa opção, então fui dar uma olhada nos plugins:
Plugins

Vi um chamado "Ferramentas externas":
Ferramentas Externas

Dei uma olhada nele e vi que ele permite criar um script na hora, resolvi testar, e foi nisso que deu:
Plugins comentarios

O mais interessante disso é que fica fácil criar qualquer tipo de plugin pro Gedit, como por exemplo um conversor de Restructured Text pra HTML e qualquer outro tipo de coisa bizarra (como um plugin carregador de plugins oO)

Digitei um comando antes de outro!!!

Postado por Rafael Sierra em 10/01/2008

Muitas vezes quando estamos dentro do terminal do Python fazendo alguma manutenção, ou teste, ou o que quer que seja que você já tenha entupido algum `for` ou `if` com comandos, acabamos escrevendo um comando antes do outro, por exemplo:

[python]
for x in xrange(1000):
a = b*x
[/python]

Ai você lembra que esqueceu de declarar `b` antes do `a`, o que fazer nessa situação onde você já tem a próxima linha digitada mas ainda falta a anterior??
Continue Reading »

Google Chart API e Bovespa

Postado por Rafael Sierra em 9/12/2007

Esses dias eu resolvi fazer um programa pra acompanhar a movimentação financeiras das ações de todas as empresas na bovespa, isso porque nos sites você só encontra informações sobre as empresas top-alguma-coisa ("Maiores altas" e "Maiores baixas" por exemplo), mas com essas informações você não sabe o estado de outras empresas, por exemplo: Qual a empresa que tem o menor valor por ação?, só com a informação dos sites você nunca vai saber. Por esses motivos resolvi fazer esse programa.
Continue Reading »

Rapidinha do Dia(5): Gerando Thumbnails em Python

Postado por Ricardo Perez em 26/11/2007

Olá meus caros "ouvintes", depois de muito tempo to eu aqui denovo.
Hoje eu vou falar de como gerar um thumbnail(miniaturas de imagem) utilizando a biblioteca PIL no python.
Um exemplo de uso do thumbnail é a busca de imagem do Google onde reproduz com bastante perfeição a imagem
original e ainda reduzindo o tamanho em disco, muito sites da pela web reduzem suas imagens pelo codigo
HTML mesmo resultando numa perda de qualidade muitas vezes grande e sem redução do tamanho em disco

Se você estiver com o setuptools instalado em sua máquina
é so fazer o seguinte comando no Linux easy_install PIL ou easy_install.exe PIL no Windows para instalar a lib PIL em sua máquina.

Vamos para o que interessa.
Continue Reading »

Erro Report por email

Postado por Rafael Sierra em 18/11/2007

Se você precisa depurar o seu ambiente em produção com Django mas não pode ativar o `DEBUG`, basta configurar o envio de email e adicionar seu nome/email na variável `ADMINS` do settings.py.

PS1: Agradecimentos ao Marinho Brandão que me ajudou.

PS2: Verifique se seu servidor de email não irá filtrar os emails como spam, eu sempre configurei as váriaveis corretamente sem saber desse comportamento, mas os emails eram filtrados como spam e eu nunca conseguia vê-los.

PS3: O GMail não filtra os emails como spam.

PS4: Sim, mudamos o layout do site, mas ainda não está encerrado, se você tem alguma sugestão pode usar os comentários para se expressar.

Integrando Mako com Django

Postado por Rafael Sierra em 21/09/2007

Pra quem não conhece, Mako é um Template Engine que permite código Python nativo dentro do template, e isso é algo que eu particularmente sinto falta nos templates do Django, você não pode enviar um objeto pra dentro do template do Django e chamar funções baseadas em parametros pra recuperar alguma informação, assim como também não pode acessar uma chave de um dicionário ou um índice de uma lista, pra fazer esse tipo de coisa tinhamos que recorrer a criação de `tags` ou mesmo ter que criar uma função na classe que não recebesse parametros pra retornar determinada informação.
Continue Reading »

Av. Conselheiro Nébias, 368A, Cj. 413
Vila Mathias - Santos - SP
Telefone: (13) 3345-4580

© 2008 - 2009 Stiod. Todos os direitos reservados.