diff -r 51ac454d5d89 twitter.py --- a/twitter.py Thu Dec 31 15:06:42 2009 -0500 +++ b/twitter.py Fri Apr 09 18:08:08 2010 -0400 @@ -391,6 +391,10 @@ >>> list = api.GetList('list_slug') >>> list.member_count >>> lists = api.GetUserLists() + + Retweet API: + + >>> api.Retweet(id) ''' DEFAULT_CACHE_TIMEOUT = 60 # cache for 1 minute @@ -690,6 +694,29 @@ results.append(self.PostUpdate(lines[-1], **kwargs)) return results + def Retweet(self, id): + '''Retweet the specified status update + + The twitter.Api instance must be authenticated. + + Args: + id: The numerical ID of the status update you want to retweet + + Returns: + A Status instance representing the retweet + ''' + try: + if id: + long(id) + except: + raise TwitterError("id must be a long integer") + parameters={'id': id} + url = 'http://api.twitter.com/1/statuses/retweet/%s.json' % id + json = self._FetchUrl(url, parameters=parameters) + data = simplejson.loads(json) + self._CheckForTwitterError(data) + return NewStatusFromJsonDict(data) + def GetReplies(self, since=None, since_id=None, page=None): '''Get a sequence of status messages representing the 20 most recent replies (status updates prefixed with @username) to the authenticating