Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.148 ]
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)
Enviando mensagens para celulares TIM
Tradutor Inglês/Português utilizando MyMemory
Cotação do Dólar com requests_html
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)