From 727fb3f92e683e08b4f4b726b7fe5ae6c5e0cc6d Mon Sep 17 00:00:00 2001 From: Fredrik Wendt Date: Tue, 8 Jun 2010 23:37:08 +0100 Subject: [PATCH] added friend['contact'] to Twitter service, plus tests Signed-off-by: Fredrik Wendt --- .../src/org/maemo/hermes/engine/twitter/service.py | 17 +++++++++++------ package/test/unit/test_twitter.py | 4 ++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/package/src/org/maemo/hermes/engine/twitter/service.py b/package/src/org/maemo/hermes/engine/twitter/service.py index 273b99d..a0b0408 100644 --- a/package/src/org/maemo/hermes/engine/twitter/service.py +++ b/package/src/org/maemo/hermes/engine/twitter/service.py @@ -53,13 +53,12 @@ class Service(org.maemo.hermes.engine.service.Service): # ----------------------------------------------------------------------- def process_contact(self, contact): - if self._friends_by_contact.has_key(contact): - return + if self._friends_by_contact.has_key(contact) or \ + self._match_contact_to_friend_by_urls(contact) or \ + self._match_contact_to_friend_by_identifiers(contact): + return self._get_friend_by_contact(contact) - if self._match_contact_to_friend_by_urls(contact): - return - - self._match_contact_to_friend_by_identifiers(contact) + return None # ----------------------------------------------------------------------- @@ -80,6 +79,11 @@ class Service(org.maemo.hermes.engine.service.Service): # ----------------------------------------------------------------------- def _get_tweeters(self): return self._twitter.GetFriends() + + + # ----------------------------------------------------------------------- + def _get_friend_by_contact(self, contact): + return self._friends_by_contact[contact] def _match_contact_to_friend_by_urls(self, contact): @@ -105,6 +109,7 @@ class Service(org.maemo.hermes.engine.service.Service): def _register_match(self, contact, friend): + friend.set_contact(contact) self._friends_by_contact[contact] = friend self._friends.remove(friend) diff --git a/package/test/unit/test_twitter.py b/package/test/unit/test_twitter.py index dd1621a..cdbb882 100644 --- a/package/test/unit/test_twitter.py +++ b/package/test/unit/test_twitter.py @@ -47,6 +47,7 @@ class TestTwitterService(unittest.TestCase): matchers = self.testee.get_contacts_with_match() assert contact in matchers assert twitterName == matchers[contact].get_name() + assert contact == self.testee._get_friend_by_contact(contact)['contact'] def test_name_collision_avoided_by_previous_matching(self): @@ -61,6 +62,7 @@ class TestTwitterService(unittest.TestCase): assert len(self.testee.get_unmatched_friends()) == 1 matchers = self.testee.get_contacts_with_match() assert contact in matchers + assert contact == self.testee._get_friend_by_contact(contact)['contact'] def test_name_collision_avoided_only_one_person_matched(self): @@ -77,6 +79,8 @@ class TestTwitterService(unittest.TestCase): matchers = self.testee.get_contacts_with_match() assert contact in matchers assert screen_name == matchers[contact].get_nickname() + assert contact == matchers[contact]['contact'] + assert contact == self.testee._get_friend_by_contact(contact)['contact'] def _exercise_service(self, contacts): -- 1.7.9.5