- def get_contact_ids(self):
- return self._contacts.iterkeys()
-
- def get_contact_name(self, contactId):
- return self._contacts[contactId][0]
-
- def get_contact_details(self, contactId):
- return iter(self._contacts[contactId][1])
-
- def find_contacts_with_number(self, queryNumber):
- strippedQueryNumber = util_misc.normalize_number(queryNumber)
- for contactId, (contactName, contactDetails) in self._contacts.iteritems():
- for phoneType, number in contactDetails:
- if number == strippedQueryNumber:
- yield contactId
+ def get_numbers(self):
+ 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):
+ try:
+ return self._numbers[strippedNumber][1]
+ except KeyError:
+ return "unknown"
+
+ def is_blocked(self, strippedNumber):
+ try:
+ return self._numbers[strippedNumber][2]["response"] == self._RESPONSE_BLOCKED
+ except KeyError:
+ return False