Skip to content

Commit

Permalink
Twitter: add list_timeline and example
Browse files Browse the repository at this point in the history
Signed-off-by: Bogdano Arendartchuk <debogdano@gmail.com>
  • Loading branch information
bhdn committed Dec 23, 2009
1 parent e9c3033 commit d43ff1a
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
53 changes: 53 additions & 0 deletions example/list_timeline.py
@@ -0,0 +1,53 @@
#!/usr/bin/env python
"""
Copyright (c) 2008 Dustin Sallings <dustin@spy.net>
Copyright (c) 2009 Bogdano Arendartchuk <debogdano@gmail.com>
"""

import os
import sys

sys.path.append(os.path.join(sys.path[0], '..', 'twittytwister'))
sys.path.append('twittytwister')

from twisted.internet import reactor, protocol, defer, task

import twitter

fetchCount = 0

@defer.deferredGenerator
def getSome(tw, list_user, list_name):
global fetchCount
fetchCount = 0

def gotEntry(msg):
global fetchCount
fetchCount += 1
sys.stdout.write(msg.text.encode("utf8") + "\n")

page = 1
while True:
fetchCount = 0
sys.stderr.write("Fetching page %d for %s/%s\n" % (page, list_user,
list_name))
d = tw.list_timeline(gotEntry, list_user, list_name,
{'count': '200', 'page': str(page)})
page += 1
wfd = defer.waitForDeferred(d)
yield wfd
wfd.getResult()

if fetchCount == 0:
reactor.stop()

user = sys.argv[1]
list_user = sys.argv[3]
list_name = sys.argv[4]

tw = twitter.Twitter(sys.argv[1], sys.argv[2])

defer.maybeDeferred(getSome, tw, list_user, list_name)

reactor.run()
5 changes: 5 additions & 0 deletions twittytwister/twitter.py
Expand Up @@ -325,6 +325,11 @@ def user_timeline(self, delegate, user=None, params={}, extra_args=None):
return self.__get('/statuses/user_timeline.xml', delegate, params,
txml.Statuses, extra_args=extra_args)

def list_timeline(self, delegate, user, list_name, params={},
extra_args=None):
return self.__get('/%s/lists/%s/statuses.xml' % (user, list_name),
delegate, params, txml.Statuses, extra_args=extra_args)

def public_timeline(self, delegate, params={}, extra_args=None):
"Get the most recent public timeline."

Expand Down

0 comments on commit d43ff1a

Please sign in to comment.