From b71048b78ae57f1d4f32189f106838188d4a777b Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 27 Jan 2010 21:43:32 -0600 Subject: [PATCH] Hardening against some types of error --- src/gvoice/addressbook.py | 13 +++++++++++-- src/handle.py | 8 -------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/gvoice/addressbook.py b/src/gvoice/addressbook.py index dbb8ed9..8efb26f 100644 --- a/src/gvoice/addressbook.py +++ b/src/gvoice/addressbook.py @@ -47,13 +47,22 @@ class Addressbook(object): return self._numbers.iterkeys() def get_contact_name(self, strippedNumber): + """ + @throws KeyError if contact not in list (so client can choose what to display) + """ return self._numbers[strippedNumber][0] def get_phone_type(self, strippedNumber): - return self._numbers[strippedNumber][1] + try: + return self._numbers[strippedNumber][1] + except KeyError: + return "unknown" def is_blocked(self, strippedNumber): - return self._numbers[strippedNumber][1]["response"] == self._RESPONSE_BLOCKED + try: + return self._numbers[strippedNumber][1]["response"] == self._RESPONSE_BLOCKED + except KeyError: + return False def _populate_contacts(self): if self._numbers: diff --git a/src/handle.py b/src/handle.py index 02e5137..5fc4e98 100644 --- a/src/handle.py +++ b/src/handle.py @@ -52,14 +52,6 @@ class ContactHandle(TheOneRingHandle): def phoneNumber(self): return self._phoneNumber - @property - def contact_name(self): - return self._conn.session.addressbook.get_contact_name(self.phoneNumber) - - @property - def contactDetails(self): - return self._conn.session.addressbook.get_phone_type(self.phoneNumber) - class ListHandle(TheOneRingHandle): -- 1.7.9.5