Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.025 ]
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)
Conversor de vídeos do YouTube para MP3
Enviando emails com autenticação smtp python cgi
Cotação atual do dólar - versão Python
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)