Changed retweet API to use the patch from http://code.google.com/p/python-twitter/issues/detail?id=130 for consistency.
This commit is contained in:
parent
63160e12d0
commit
74b42441dc
2
README
2
README
|
@ -18,7 +18,7 @@ hg clone https://python-twitter.googlecode.com/hg/ python-twitter
|
||||||
cd python-twitter
|
cd python-twitter
|
||||||
hg update dev
|
hg update dev
|
||||||
patch -p1 < ../mytwitter/python-twitter-GetListStatuses.patch
|
patch -p1 < ../mytwitter/python-twitter-GetListStatuses.patch
|
||||||
patch -p1 < ../mytwitter/python-twitter-Retweet.patch
|
patch -p1 < ../mytwitter/python-twitter-retweet-3.patch
|
||||||
python setup.py build
|
python setup.py build
|
||||||
python setup.py install --user
|
python setup.py install --user
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ class MyTwitter():
|
||||||
|
|
||||||
|
|
||||||
def on_retweet(self, widget):
|
def on_retweet(self, widget):
|
||||||
self.api.Retweet(widget.id)
|
self.api.PostRetweet(widget.id)
|
||||||
|
|
||||||
### end class MyTwitter
|
### end class MyTwitter
|
||||||
|
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
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
|
|
34
python-twitter-retweet-3.patch
Normal file
34
python-twitter-retweet-3.patch
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
diff -r 51ac454d5d89 twitter.py
|
||||||
|
--- a/twitter.py Thu Dec 31 15:06:42 2009 -0500
|
||||||
|
+++ b/twitter.py Sat Apr 10 10:42:52 2010 -0400
|
||||||
|
@@ -690,6 +690,30 @@
|
||||||
|
results.append(self.PostUpdate(lines[-1], **kwargs))
|
||||||
|
return results
|
||||||
|
|
||||||
|
+ def PostRetweet(self, id):
|
||||||
|
+ '''Retweet a tweet with the Retweet API
|
||||||
|
+
|
||||||
|
+ The twitter.Api instance must be authenticated.
|
||||||
|
+
|
||||||
|
+ Args:
|
||||||
|
+ id: The numerical ID of the tweet you are retweeting
|
||||||
|
+
|
||||||
|
+ Returns:
|
||||||
|
+ A twitter.Status instance representing the retweet posted
|
||||||
|
+ '''
|
||||||
|
+ if not self._username:
|
||||||
|
+ raise TwitterError("The twitter.Api instance must be authenticated.")
|
||||||
|
+ try:
|
||||||
|
+ if int(id) <= 0:
|
||||||
|
+ raise TwitterError("'id' must be a positive number")
|
||||||
|
+ except ValueError:
|
||||||
|
+ raise TwitterError("'id' must be an integer")
|
||||||
|
+ url = 'http://api.twitter.com/1/statuses/retweet/%s.json' % id
|
||||||
|
+ json = self._FetchUrl(url, post_data={})
|
||||||
|
+ 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
|
Reference in New Issue
Block a user