from org.maemo.hermes.engine.names import canonical
+from org.maemo.hermes.engine.friend import Friend
import org.maemo.hermes.engine.service
class Service(org.maemo.hermes.engine.service.Service):
# -----------------------------------------------------------------------
def process_friends(self):
- for tweeter in self._get_tweeters():
+ tweeters = self._get_tweeters()
+ #print "got ", len(tweeters), " tweeters from twitter"
+ for tweeter in tweeters:
key = canonical(tweeter.name)
url = 'http://twitter.com/%s' % (tweeter.screen_name)
- friend = self._create_friend(tweeter.name)
+ friend = Friend(tweeter.name)
friend.set_nickname(tweeter.screen_name)
friend.add_url(url)
friend.add_url(tweeter.url)
# -----------------------------------------------------------------------
def _get_tweeters(self):
- return self._twitter.GetFriends()
+ try:
+ return self._twitter.GetFriends()
+ except urllib2.HTTPError, e:
+ if e.code >= 500 and e.code <= 599:
+ print "Twitter down (fail whale): " + e.message
+ return []
+ else:
+ raise e
+
# -----------------------------------------------------------------------
def _register_match(self, contact, friend):
friend.set_contact(contact)
self._friends_by_contact[contact] = friend
- self._friends.remove(friend)
+ if friend in self._friends:
+ self._friends.remove(friend)