Skip to content

Instantly share code, notes, and snippets.

@matsuu
Created December 6, 2010 12:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matsuu/730211 to your computer and use it in GitHub Desktop.
Save matsuu/730211 to your computer and use it in GitHub Desktop.
import android
import tweepy
import urllib
consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_token_secret = 'ACCESS_TOKEN_SECRET'
droid = android.Android()
class StreamListener(tweepy.StreamListener):
def on_status(self, status):
screen_name = status.user.screen_name.encode('utf-8')
text = status.text.encode('utf-8')
print '@%-15s: %s' % (screen_name, text)
class Stream(tweepy.Stream):
def userstream(self, async=False):
self.parameters = {'delimited': 'length'}
self.headers['Content-type'] = "application/x-www-form-urlencoded"
if self.running:
raise TweepError('Stream object already connected!')
self.host = 'userstream.twitter.com'
self.url = '/2/user.json'
self.body = urllib.urlencode(self.parameters)
self._start(async)
def main():
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, StreamListener(), secure=True, timeout=86400)
items = ['home', 'follow', 'track']
droid.dialogCreateAlert()
droid.dialogSetItems(items)
droid.dialogShow()
response = droid.dialogGetResponse().result
target = items[response.get('item')]
if target == 'home':
stream.userstream()
elif target == 'follow':
follow = droid.dialogGetInput('follow').result
stream.filter(follow=[follow.encode('utf-8')])
elif target == 'track':
track = droid.dialogGetInput('track').result
stream.filter(track=[track.encode('utf-8')])
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment