self._widgetTree.signal_autoconnect(callbackMapping)
self._widgetTree.get_widget("callbackcombo").get_child().connect("changed", self._on_callbackentry_changed)
- # Defer initalization of recent view
self._gcBackend = GCDialer()
- self.attemptLogin(2) #@todo maybe we should disable the GUI and defer this?
+ self.attemptLogin(2)
gobject.idle_add(self._init_grandcentral)
+ # Defer initalization of recent view
gobject.idle_add(self._init_recent_view)
def _init_grandcentral(self):
dialog = self._widgetTree.get_widget("login_dialog")
while (0 < times) and not self._gcBackend.isAuthed():
- if dialog.run() != gtk.RESPONSE_OK:
+ userResponse = dialog.run()
+ if userResponse != gtk.RESPONSE_OK:
times = 0
continue
self._gcBackend.login(username, password)
print "hiding dialog"
dialog.hide()
- times = times - 1
+ times -= 1
return False
@todo Potential blocking on web access, maybe we should defer this or put up a dialog?
"""
text = makeugly(self._widgetTree.get_widget("callbackcombo").get_child().get_text())
- if self._gcBackend.validate(text) and text != self._gcBackend.getCallbackNumber():
+ if self._gcBackend.is_valid_syntax(text) and text != self._gcBackend.getCallbackNumber():
self._gcBackend.setCallbackNumber(text)
def _on_recentview_row_activated(self, treeview, path, view_column):
_validateRe = re.compile("^[0-9]{10,}$")
-def is_valid_syntax(number):
- """
- @returns If This number be called ( syntax validation only )
- """
- return _validateRe.match(number) is not None
-
-
class GCDialer(object):
"""
This class encapsulates all of the knowledge necessary to interace with the grandcentral servers
self._msg = ""
# If the number is not valid throw exception
- if not is_valid_syntax(number):
+ if not self.is_valid_syntax(number):
raise ValueError('number is not valid')
# No point if we don't have the magic cookie
self._browser.cookies.clear()
self._browser.cookies.save()
+ def is_valid_syntax(self, number):
+ """
+ @returns If This number be called ( syntax validation only )
+ """
+ return _validateRe.match(number) is not None
+
+
def getAccountNumber(self):
"""
@returns The grand central phone number