Implemented status bar messages for new tweets, and for successfully posting a tweet.
This commit is contained in:
parent
215b84a3fe
commit
a06d47cfcc
3
README
3
README
|
@ -17,8 +17,7 @@ For the twitter module, you can download and install it with:
|
|||
hg clone https://python-twitter.googlecode.com/hg/ python-twitter
|
||||
cd python-twitter
|
||||
hg update dev
|
||||
patch -p1 < ../mytwitter/python-twitter-GetListStatuses.patch
|
||||
patch -p1 < ../mytwitter/python-twitter-retweet-3.patch
|
||||
for i in ../mytwitter/python-twitter-*.patch; do patch p1 < $i; done
|
||||
python setup.py build
|
||||
python setup.py install --user
|
||||
|
||||
|
|
19
mytwitter.py
19
mytwitter.py
|
@ -28,6 +28,7 @@ class MyTwitter():
|
|||
self.tweets = []
|
||||
self.list = None
|
||||
self.reply_id = None
|
||||
self.latest_tweet = None
|
||||
|
||||
# Authenticate with twitter, set up the API object
|
||||
self.api = twitter.Api(username=self.username, password=self.password)
|
||||
|
@ -47,6 +48,7 @@ class MyTwitter():
|
|||
self.tweet_box = self.widget_tree.get_widget('tweet_box')
|
||||
self.update_entry = self.widget_tree.get_widget('update_entry')
|
||||
self.update_count = self.widget_tree.get_widget('update_count')
|
||||
self.status_bar = self.widget_tree.get_widget('status_bar')
|
||||
|
||||
# Build us some labels...
|
||||
for i in range(0, self.num_entries):
|
||||
|
@ -80,12 +82,26 @@ class MyTwitter():
|
|||
else:
|
||||
statuses = self.api.GetListStatuses(self.list, per_page=self.num_entries)
|
||||
|
||||
# If this is our first load of this list, don't treat anything as new!
|
||||
if self.latest_tweet is None:
|
||||
self.latest_tweet = statuses[0].id
|
||||
|
||||
# Keep count of the new tweets for posting a status message
|
||||
num_new_tweets = 0
|
||||
|
||||
for i in range(0, self.num_entries):
|
||||
if i < len(statuses):
|
||||
if statuses[i].id > self.latest_tweet:
|
||||
num_new_tweets += 1
|
||||
self.tweets[i].set_status(statuses[i])
|
||||
else:
|
||||
self.tweets[i].clear_status()
|
||||
|
||||
self.latest_tweet = statuses[0].id
|
||||
self.status_bar.pop(self.status_bar.get_context_id('new_tweets'))
|
||||
if num_new_tweets > 0:
|
||||
self.status_bar.push(self.status_bar.get_context_id('new_tweets'), str(num_new_tweets) + ' new tweets')
|
||||
|
||||
|
||||
def update_window_callback(self, widget):
|
||||
self.update_window()
|
||||
|
@ -96,6 +112,8 @@ class MyTwitter():
|
|||
self.update_entry.set_text("")
|
||||
self.api.PostUpdate(text, in_reply_to_status_id=self.reply_id)
|
||||
self.reply_id = None
|
||||
self.status_bar.push(self.status_bar.get_context_id('update'),
|
||||
'Tweet Posted')
|
||||
|
||||
|
||||
def update_status_callback(self, widget):
|
||||
|
@ -123,6 +141,7 @@ class MyTwitter():
|
|||
|
||||
def on_list_select_changed(self, widget):
|
||||
self.list = widget.get_active_text()
|
||||
self.latest_tweet = None
|
||||
self.update_window()
|
||||
|
||||
|
||||
|
|
Reference in New Issue
Block a user