Atualizador Twitter
Publicado por Francisco Souza 07/04/2009
[ Hits: 9.022 ]
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
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta