def call(self): assert len(self._contacts) == 1, "Must select 1 and only 1 contact" assert len(self._message) == 0, "Cannot send message with call" (contact,) = self._contacts.itervalues() number = misc_utils.make_ugly(contact.selectedNumber) le = self._asyncQueue.add_async(self._call) le.start(number)
def set_callbacks(self, choices, default): self._callbackSelector.clear() self._callbackSelector.addItem("Not Set", "") uglyDefault = misc_utils.make_ugly(default) if not uglyDefault: uglyDefault = default for number, description in choices.iteritems(): prettyNumber = misc_utils.make_pretty(number) uglyNumber = misc_utils.make_ugly(number) if not uglyNumber: prettyNumber = number uglyNumber = number self._callbackSelector.addItem("%s - %s" % (prettyNumber, description), uglyNumber) if uglyNumber == uglyDefault: self._callbackSelector.setCurrentIndex(self._callbackSelector.count() - 1)
def _on_sms_clicked(self, checked = False): with qui_utils.notify_error(self._errorLog): number = misc_utils.make_ugly(str(self._entry.text())) self._entry.clear() contactId = number title = misc_utils.make_pretty(number) description = misc_utils.make_pretty(number) numbersWithDescriptions = [(number, "")] self._session.draft.add_contact(contactId, None, title, description, numbersWithDescriptions)
def _index_number(numbers, default): uglyDefault = misc_utils.make_ugly(default) uglyContactNumbers = list( misc_utils.make_ugly(contactNumber) for (contactNumber, _) in numbers ) defaultMatches = [ misc_utils.similar_ugly_numbers(uglyDefault, contactNumber) for contactNumber in uglyContactNumbers ] try: defaultIndex = defaultMatches.index(True) except ValueError: defaultIndex = -1 _moduleLogger.warn( "Could not find contact number %s among %r" % ( default, numbers ) ) return defaultIndex
def send(self): assert 0 < len(self._contacts), "No contacts selected" assert 0 < len(self._message), "No message to send" numbers = [misc_utils.make_ugly(contact.selectedNumber) for contact in self._contacts.itervalues()] le = self._asyncQueue.add_async(self._send) le.start(numbers, self._message)