def _on_dial_clicked(self, number): try: assert number, "No number to call" self.refresh_session() try: loggedIn = self._phoneBackends[self._selectedBackendId].is_authed() except Exception, e: loggedIn = False self._errorDisplay.push_exception() return if not loggedIn: self._errorDisplay.push_message( "Backend link with GoogleVoice is not working, please try again" ) return dialed = False try: assert self._phoneBackends[self._selectedBackendId].get_callback_number() != "", "No callback number specified" self._phoneBackends[self._selectedBackendId].call(number) hildonize.show_information_banner(self._window, "Calling %s" % number) _moduleLogger.info("Calling %s" % number) dialed = True except Exception, e: self._errorDisplay.push_exception()
def _on_sms_clicked(self, numbers, message): try: assert numbers, "No number specified" assert message, "Empty message" self.refresh_session() try: loggedIn = self._phoneBackends[self._selectedBackendId].is_authed() except Exception, e: loggedIn = False self._errorDisplay.push_exception() return if not loggedIn: self._errorDisplay.push_message( "Backend link with GoogleVoice is not working, please try again" ) return dialed = False try: self._phoneBackends[self._selectedBackendId].send_sms(numbers, message) hildonize.show_information_banner(self._window, "Sending to %s" % ", ".join(numbers)) _moduleLogger.info("Sending SMS to %r" % numbers) dialed = True except Exception, e: self._errorDisplay.push_exception()
def _on_select_sleep(self, *args): if self.sleep_timer is not None: gobject.source_remove(self.sleep_timer) try: index = hildonize.touch_selector( self.win, "Sleeptimer", self._sleepSelection, self._sleepSelectionIndex if 0 <= self._sleepSelectionIndex else 0, ) except RuntimeError: _moduleLogger.exception("Handling as if user cancelled") hildonize.show_information_banner(self.win, "Sleep timer canceled") index = 0 self._sleepSelectionIndex = index sleepName = self._sleepSelection[index] time_out = int(sleepName) if 0 < time_out: timeout_add_seconds(time_out * 60, self.sleep) if hildonize.IS_FREMANTLE_SUPPORTED: self.sleeptime_button.set_text("Sleeptimer", sleepName) else: self._sleepMenuItem.get_child().set_text("Sleeptimer: %s" % (sleepName,))
def set_books(self, books): _moduleLogger.debug("new books") del self._bookSelection[:] self._bookSelection.extend(books) if len(books) == 0 and self.controller is not None: hildonize.show_information_banner( self.win, "No audiobooks found. \nPlease place your audiobooks in the directory %s" % self.controller.get_books_path(), )
self.refresh_session() serviceId = self._defaultBackendId loggedIn = True except Exception, e: _moduleLogger.exception('Session refresh failed with the following message "%s"' % str(e)) finally: with gtk_toolbox.gtk_lock(): hildonize.show_busy_banner_end(banner) if not loggedIn: loggedIn, serviceId = self._login_by_user() with gtk_toolbox.gtk_lock(): self._change_loggedin_status(serviceId) if loggedIn: hildonize.show_information_banner(self._window, "Logged In") else: hildonize.show_information_banner(self._window, "Login Failed") if not self._phoneBackends[self._defaultBackendId].get_callback_number(): # subtle reminder to the users to configure things self._notebook.set_current_page(self.ACCOUNT_TAB) except Exception, e: with gtk_toolbox.gtk_lock(): self._errorDisplay.push_exception() def refresh_session(self): """ @note Thread agnostic """ assert self._initDone, "Attempting login before app is fully loaded"
def sleep(self): _moduleLogger.info("sleep time timeout") hildonize.show_information_banner(self.win, "Sleep timer") self.controller.stop() self.set_button_text("Resume", "Resume playing the audiobook") return False # do not repeat