Script para sorteio de amigo secreto

As festas chegaram e, com elas, os amigos secretos. Para facilitar a vida dos sorteios segue um pequeno script que fiz ano passado. O script pega um lista de pessoas, sorteia e envia um email para cada uma com o nome do seu amigo secreto. Ele evita que uma pessoa pegue a si mesmo, ou alguém deixe de ser sorteado:

 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Script para sorteio de amigo secreto
# Hugo Doria
 
from random import shuffle
import os
 
arquivo = open("amigos.txt","r")
 
pessoas = arquivo.readlines()
shuffle(pessoas)
 
for par in zip(pessoas, pessoas[1:] + pessoas [:1]):
  envia = os.popen("/usr/bin/mail -s '[sorteio] Seu amigo secreto é ...'" + par[0].replace("\n","").split("-")[1], "w")
  envia.write("Seu amigo secreto é .... \n\n\n" + par[1].replace("\n","").split("-")[0])
 
  envia.close()
  print par
 
arquivo.close()
 

Para rodar o script você só precisa do python e de um arquivo chamado amigos.txt, com o nome das pessoas dentro no formato Nome - email.

Exemplo:

Fulana - meu@email.com.br
Sicrana - sicrana@hotmail.com
Beltrana - com-cam@tal.com.br

5 Comments / Leave a comment

  1. Que bacana Hugo! Veio no momento exato para ser usado aqui no trabalho. Está licenciado sob GPL?

    • Django,

      Não está sob nenhuma licença específica. Use-o a vontade.

      • Djavan* (e não Django). Desculpe. É a idade chegando. #)

  2. Igor Freire

    Pô, não sei mexer nada em python, instalei o programa, fiz o amigos.txt e tentei rodar, mas não deu certo =( precisa fazer mais alguma coisa?

    • Igor,

      Você possui o sendmail (ou postfix) rodando na máquina? Não precisa de nenhuma configuração complexa.

      Além disso, mudei uma linha no script para funcionar nas novas versões do python.

      Tenta novamente.

      Abraços.

Ctrl+Enter