Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.103 ]
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)
Descubra seu IP através do MeuIP
CotDolar - Cotação do dólar em Python
Envio e recebimento de arquivos em Python
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)