Working twitter API
This commit is contained in:
parent
2736d39124
commit
23b628d4cb
2 changed files with 37 additions and 10 deletions
42
forthlift.py
42
forthlift.py
|
|
@ -4,6 +4,8 @@ import sys
|
||||||
import locale
|
import locale
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
import tweepy
|
||||||
|
|
||||||
|
|
||||||
def write(data, stream = sys.stdout):
|
def write(data, stream = sys.stdout):
|
||||||
"""
|
"""
|
||||||
|
|
@ -95,6 +97,21 @@ def on_stdout( data, asked, endline="\n" ):
|
||||||
yield prefix*i + line
|
yield prefix*i + line
|
||||||
|
|
||||||
|
|
||||||
|
def on_twitter( data, api, asked, endline="\n" ):
|
||||||
|
lines = setup(data, asked)
|
||||||
|
|
||||||
|
prev_status_id = None
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
# API.update_status(status[, in_reply_to_status_id][, lat][, long][, source][, place_id])
|
||||||
|
status = api.update_status(line, prev_status_id)
|
||||||
|
|
||||||
|
if asked.chain:
|
||||||
|
prev_status_id = status.id
|
||||||
|
|
||||||
|
yield status.text + endline
|
||||||
|
|
||||||
|
|
||||||
def operate( func, *args ):
|
def operate( func, *args ):
|
||||||
for line in func( readline(sys.stdin), *args ):
|
for line in func( readline(sys.stdin), *args ):
|
||||||
write(line)
|
write(line)
|
||||||
|
|
@ -129,6 +146,8 @@ parser.add_argument("-d", "--adorn", action="store_true",
|
||||||
parser.add_argument("-q", "--quiet", action="store_true",
|
parser.add_argument("-q", "--quiet", action="store_true",
|
||||||
help="Do not print errors and warnings on the standard error output.")
|
help="Do not print errors and warnings on the standard error output.")
|
||||||
|
|
||||||
|
# TODO option: rate at which to post lines
|
||||||
|
|
||||||
# API-dependant options
|
# API-dependant options
|
||||||
|
|
||||||
parser.add_argument("-c", "--chain", action="store_true",
|
parser.add_argument("-c", "--chain", action="store_true",
|
||||||
|
|
@ -152,23 +171,26 @@ if asked.api == "stdout":
|
||||||
operate( on_stdout, asked )
|
operate( on_stdout, asked )
|
||||||
|
|
||||||
|
|
||||||
elif asked.api == "twitter": # TODO
|
elif asked.api == "twitter":
|
||||||
|
|
||||||
import tweepy
|
import ConfigParser
|
||||||
|
|
||||||
consumer_key = ""
|
config = ConfigParser.RawConfigParser()
|
||||||
consumer_secret = ""
|
config.read('twitter.conf')
|
||||||
|
|
||||||
access_token = ""
|
consumer_key = config.get("Auth","key")
|
||||||
access_token_secret = ""
|
consumer_secret = config.get("Auth","key_secret")
|
||||||
|
|
||||||
|
try:
|
||||||
|
verifier_code = config.get("Auth","code")
|
||||||
|
except:
|
||||||
|
access_token = config.get("Auth","token")
|
||||||
|
access_token_secret = config.get("Auth","token_secret")
|
||||||
|
|
||||||
auth = tweepy.OAuthHandler(consumer_key, consumer_secret, "https://api.twitter.com/1.1/")
|
auth = tweepy.OAuthHandler(consumer_key, consumer_secret, "https://api.twitter.com/1.1/")
|
||||||
auth.set_access_token(access_token, access_token_secret)
|
auth.set_access_token(access_token, access_token_secret)
|
||||||
|
|
||||||
api = tweepy.API(auth)
|
api = tweepy.API(auth)
|
||||||
|
|
||||||
public_tweets = api.home_timeline()
|
operate( on_twitter, api, asked )
|
||||||
for tweet in public_tweets:
|
|
||||||
print "#########################################"
|
|
||||||
print tweet.text
|
|
||||||
|
|
||||||
|
|
|
||||||
5
twitter.conf-dist
Normal file
5
twitter.conf-dist
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
[Auth]
|
||||||
|
key=
|
||||||
|
key_secret=
|
||||||
|
token=
|
||||||
|
token_secret=
|
||||||
Loading…
Add table
Add a link
Reference in a new issue