Added readme and necessary patch for python-twitter

This commit is contained in:
Anna 2010-04-07 12:54:40 -04:00
parent 3cc9e68645
commit db1cdda40b
2 changed files with 67 additions and 0 deletions

24
README Normal file
View File

@ -0,0 +1,24 @@
mytwitter is a simple python twitter application. I wrote it for two reasons:
1. No existing twitter app supports the Lists API
2. An excuse to learn Python
While I doubt it will be terribly useful for anyone other than me, feel free to take it for a spin and let me know how it goes. You'll need the following:
* PMW (Python mega-widgets)
* TKinter
* The latest dev version of python-twitter, along with my patch (included here)
For python-twitter, you can download and install it with:
hg clone https://python-twitter.googlecode.com/hg/ python-twitter
cd python-twitter
hg update dev
hg patch -u "Patrick Wiggins <jpwigan@gmail.com>" ../mytwitter/python-twitter-GetListStatuses.patch
python build.py build
python build.py install --user
This will install python-twitter in your ~/.local/lib directory, which python 2.6 will automatically include in PYTHONPATH.

View File

@ -0,0 +1,43 @@
diff -r 51ac454d5d89 twitter.py
--- a/twitter.py Thu Dec 31 15:06:42 2009 -0500
+++ b/twitter.py Tue Apr 06 15:05:55 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,31 @@
self._CheckForTwitterError(data)
return NewListFromJsonDict(data)
+ def GetListStatuses(self, list_slug, user=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 friends you are fetching. If
+ not specified, defaults to the authenticated user. [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 = {}
+ 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,