diff -r 51ac454d5d89 twitter.py --- a/twitter.py Thu Dec 31 15:06:42 2009 -0500 +++ b/twitter.py Sat Apr 10 10:59:03 2010 -0400 @@ -380,6 +380,7 @@ >>> api.GetUserLists(user, cursor) >>> api.GetListMembers(list_slug, user, cursor) >>> api.GetList(list_slug, user) + >>> api.GetListStatuses(list_slug, user) Example usage of lists: @@ -1117,6 +1118,46 @@ self._CheckForTwitterError(data) return NewListFromJsonDict(data) + def GetListStatuses(self, list_slug, user=None, since_id=None, max_id=None, per_page=None, page=None): + '''Fetch the List statuses for a given user / list. + + Args: + list_slug: slug of the list to fetch + user: the username or id of the user whose list you are fetching. If + not specified, defaults to the authenticated user. [optional] + since_id: return only statuses with an ID greater than the specified ID + [optional] + max_id: return only statuses with an ID less than or equal to the + specified ID [optional] + per_page: specifies the maximum number of statuses to retrieve. Must be + <= 200 [optional] + page: specifies the page to retrieve [optional] + + The twitter.Api instance must be authenticated. + + Returns: + The list information. + ''' + if not user and not self._username: + raise TwitterError("User must be specified if API is not authenticated.") + if user: + url = 'http://twitter.com/%s/lists/%s/statuses.json' % (user,list_slug) + else: + url = 'http://twitter.com/%s/lists/%s/statuses.json' % (self._username,list_slug) + parameters = {} + if since_id: + parameters['since_id']=since_id + if max_id: + parameters['max_id']=max_id + if per_page: + parameters['per_page']=per_page + if page: + parameters['page']=page + json = self._FetchUrl(url, parameters=parameters) + data = simplejson.loads(json) + self._CheckForTwitterError(data) + return [NewStatusFromJsonDict(x) for x in data] + def Search(self, query, lang=None,