import telepathy
+import constants
import tp
import gtk_toolbox
+import gvoice
_moduleLogger = logging.getLogger("channel.text")
class DebugPromptChannel(tp.ChannelTypeText, cmd.Cmd):
- """
- Look into implementing ChannelInterfaceMessages for rich text formatting
- """
def __init__(self, connection, manager, props, contactHandle):
self.__manager = manager
finally:
self.stdin, self.stdout = oldStdin, oldStdout
- self._report_new_message(currentStdout.getvalue())
+ stdoutData = currentStdout.getvalue().strip()
+ if stdoutData:
+ self._report_new_message(stdoutData)
@gtk_toolbox.log_exception(_moduleLogger)
def Close(self):
self.close()
def close(self):
+ _moduleLogger.debug("Closing debug")
tp.ChannelTypeText.Close(self)
self.remove_from_connection()
except Exception, e:
self._report_new_message(str(e))
+ def help_reset_state_machine(self):
+ self._report_new_message("Reset the refreshing state machine")
+
def do_get_state(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_get_state(self):
+ self._report_new_message("Print the current state the refreshing state machine is in")
+
def do_is_authed(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_is_authed(self):
+ self._report_new_message("Print whether logged in to Google Voice")
+
def do_is_dnd(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_is_dnd(self):
+ self._report_new_message("Print whether Do-Not-Disturb mode enabled on the Google Voice account")
+
def do_get_account_number(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_get_account_number(self):
+ self._report_new_message("Print the Google Voice account number")
+
def do_get_callback_numbers(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_get_callback_numbers(self):
+ self._report_new_message("Print a list of all configured callback numbers")
+
+ def do_get_sane_callback_number(self, args):
+ if args:
+ self._report_new_message("No arguments supported")
+ return
+
+ try:
+ number = gvoice.backend.get_sane_callback(self._conn.session.backend)
+ self._report_new_message(number)
+ except Exception, e:
+ self._report_new_message(str(e))
+
+ def help_get_sane_callback_number(self):
+ self._report_new_message("Print the best guess of callback numbers to use")
+
def do_get_callback_number(self, args):
if args:
self._report_new_message("No arguments supported")
except Exception, e:
self._report_new_message(str(e))
+ def help_get_callback_number(self):
+ self._report_new_message("Print the callback number currently enabled")
+
def do_call(self, args):
if len(args) != 1:
self._report_new_message("Must specify the phone number and only the phone nunber")
except Exception, e:
self._report_new_message(str(e))
+ def help_call(self):
+ self._report_new_message("\n".join(["call NUMBER", "Initiate a callback, Google forwarding the call to the callback number"]))
+
def do_send_sms(self, args):
if 1 < len(args):
self._report_new_message("Must specify the phone number and then message")
self._conn.session.backend.send_sms(number, message)
except Exception, e:
self._report_new_message(str(e))
+
+ def help_send_sms(self):
+ self._report_new_message("\n".join(["send_sms NUMBER MESSAGE0 MESSAGE1 ...", "Send an sms to number NUMBER"]))
+
+ def do_version(self, args):
+ if args:
+ self._report_new_message("No arguments supported")
+ return
+ self._report_new_message("%s-%s" % (constants.__version__, constants.__build__))
+
+ def help_version(self):
+ self._report_new_message("Prints the version (hint: %s-%s)" % (constants.__version__, constants.__build__))
+
+ def do_get_polling(self, args):
+ if args:
+ self._report_new_message("No arguments supported")
+ return
+ self._report_new_message("\n".join((
+ "Contacts:", repr(self._conn.session.addressbookStateMachine)
+ )))
+ self._report_new_message("\n".join((
+ "Voicemail:", repr(self._conn.session.voicemailsStateMachine)
+ )))
+ self._report_new_message("\n".join((
+ "Texts:", repr(self._conn.session.textsStateMachine)
+ )))
+
+ def help_get_polling(self):
+ self._report_new_message("Prints the frequency each of the state machines updates")