Atualizador e gerenciando seu Twitter via Python


Autor/fonte: Francisco Antônio da Silva Souza
E-mail/Url: http://www.vivaolinux.com.br/script/Atualizador-Twitter
Tags: [ twitter ]



Digg del.icio.us

Script de atualização do Twitter e gerenciamento simples via Python. 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)

Script:

#!/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)




Enviado por xKuRt em 18/04/2009 às 18:34


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Sábado, 19 de Abril de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Gramática Inglesa para Leigos


Capa do livro
Análise das Estruturas: Métodos das Forças e Métodos dos Deslocamentos 2ªEd


Capa do livro
Aplicativos Web Pro Android: Desenvolvimento Pro Android Usando HTML5, CSS3 e JavaScript





Hostnet

IMD