Atualizador e gerenciando seu Twitter via Python
Autor/fonte: Francisco Antônio da Silva Souza
E-mail/Url: http://www.vivaolinux.com.br/script/Atualizador-Twitter
Tags: [ twitter ]
Tweet
Script de atualização do Twitter e gerenciamento simples via Python. Versão inicial.
Simples de usar, o código explica como deve ser o uso:
Ou:
Script:
Simples de usar, o código explica como deve ser o uso:
$ python atualiza-twitter.py <usuário> <senha> <opção> #(modo pouco interativo)
Ou:
$ python atualiza-twitter.py #(modo 100% interativo)
Script:
#!/usr/bin/env python
#coding: utf-8
'''
Este script tem por intenção fazer um pequeno gerenciador de linha de comando para o twitter.
A principal intenção é conseguir atualizar o status, mas existem ainda outras funções.
O script é novo, fiz rapidamente, numa brincadeira. A idéia é ir incrementando ele COM O TEMPO.
Modos de uso:
> python atualiza-twitter.py <usuário> <senha> <opção> (Modo não-interativo)
> python atualiza-twitter.py (Modo interativo)
Autor: Francisco Antônio da Silva Souza
Versão: 0.1
Versão do Python: 2.5.x
Data da última atualização: 06 de abril de 2009
Copyleft - Nenhum direito reservado.
'''
import twitter
import sys
# Tentando otimizar o programa com um JIT Compiler
try:
import psyco
psyco.full()
except:
pass
class TwitterError(Exception):
'''Classe que representa erros ocorridos.'''
def __init__(self, message=None):
self.message = message
def determinar_acao(codigo):
'''Método que determina, dado um código inteiro, qual ação deve ser executada.'''
if codigo == 1:
msg = 'atualizar'
elif codigo == 3:
msg = 'amigos'
elif codigo == 4:
msg = 'seguidores'
elif codigo == 5:
msg = 'atualizacoes_amigos'
else:
msg = 'timeline'
return msg
def main(*args):
'''Método principal, onde a coisa realmente acontece.
O método recebe uma tupla com os argumentos.
'''
lista = args[0]
if len(lista) < 4:
raise TwitterError(message='''Verifique se você utilizou corretamente o script.\n
Modo de uso: atualiza-twitter.py <usuario> <senha> <opcao>
Opções possíveis:
atualizar - Atualiza seu status, presente no quarto parâmetro;
timeline - Visualizar timeline pública;
amigos - Obter lista de amigos do usuário (pessoas que o usuário segue);
seguidores - Obter lista de pessoas que estão seguindo o usuário;
atualizacoes_amigos - Obter timeline dos seus amigos;
''')
api = twitter.Api(lista[1], lista[2])
opcao = lista[3]
if opcao == 'atualizar':
texto = raw_input('Digite o texto do status: ')
tamanho = len(texto)
if tamanho > 1 and tamanho <= 140:
status = api.PostUpdate(texto.decode('utf-8'))
print 'Status postado com sucesso!\nTexto do Status: \'%s\'.' %(texto)
else:
raise TwitterError(message='Seu texto deve ter entre 2 e 140 caracteres!')
elif opcao == 'timeline':
sts = api.GetPublicTimeline()
print 'TIMELINE'
for s in sts:
print '%s: \'%s\'' %(s.user.name, s.text)
print
elif opcao == 'amigos':
amigos = api.GetFriends()
print 'LISTA DE AMIGOS DO USUÁRIO:'
for amigo in amigos:
print ' * %s' %amigo.name
elif opcao == 'seguidores':
seguidores = api.GetFollowers()
print 'LISTA DE SEGUIDORES DO USUÁRIO:'
for seguidor in seguidores:
print ' * %s' %seguidor.nome
elif opcao == 'atualizacoes_amigos':
atualizacoes = api.GetFriendsTimeline()
print 'LISTA DE ATUALIZAÇÕES DOS AMIGOS DO USUÁRIO:'
for st in atualizacoes:
print ' %s: \'%s\'' %(st.user.name, st.text)
# Execução principal
if __name__ == '__main__':
try:
if len(sys.argv) == 1:
print 'Para utilizar este script, você precisa estar autenticado.'
login = raw_input('Digite seu login: ')
senha = raw_input('Digite sua senha: ')
opcao = input('''Selecione no menu abaixo sua opção:
1 - Atualizar meu status
2 - Visualizar timeline pública
3 - Pessoas que estou seguindo
4 - Pessoas que me seguem
5 - Atualizações dos meus amigos
Digite sua opção: ''')
nome_opcao = determinar_acao(opcao)
lista = [sys.argv[0], login, senha, nome_opcao]
main(lista)
else:
main(sys.argv)
except TwitterError, e:
print e.message
except:
sys.exit(1)
Enviado por xKuRt em 18/04/2009 às 18:34
Avaliação
Esta publicação ainda não foi avaliada!
A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.
Comentários
Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).
Envio de comentário:
Sexta, 24 de Maio de 2013
Área restrita
Leitura recomendada
Últimas publicações
Top 5 membros
- dddweb213 pts
- andersonop207 pts
- Jotah197 pts
- fbinasco165 pts
- fredbcn117 pts





