Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.298 ]
Homepage: http://www.franciscosouza.net
Script de atualização do Twitter e gerenciamento simples. Versão inicial.
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)
#!/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)
Google scan com interface gráfica
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (8)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)
Assisti Avatar 3: Fogo e Cinzas (1)









