X-Git-Url: http://git.maemo.org/git/?p=gc-dialer;a=blobdiff_plain;f=src%2Fgc_backend.py;h=a5e550ef9fd8590f17dc2fb7bf9c04cfe0d1b90b;hp=a12c77d06c43f0375f3b2e29073c17185ddfa8dd;hb=768b267471fa18eb87eea776542872ae5bff6fc8;hpb=764e27ca0521940db37fbaf04ae9046ad1cc9ca2 diff --git a/src/gc_backend.py b/src/gc_backend.py index a12c77d..a5e550e 100644 --- a/src/gc_backend.py +++ b/src/gc_backend.py @@ -44,7 +44,7 @@ class GCDialer(object): _accessTokenRe = re.compile(r"""]*value="(.*)"/>""") _isLoginPageRe = re.compile(r"""
""") _callbackRe = re.compile(r"""name="default_number" value="(\d+)" />\s+(.*)\s$""", re.M) - _accountNumRe = re.compile(r"""GrandCentral\s*(.{14})\s* """, re.M) + _accountNumRe = re.compile(r"""]*value="(.*)"/>""") _inboxRe = re.compile(r""".*?(voicemail|received|missed|call return).*?\s+\s+\s+(.*?)\s+ \| \s+(.*?)\s?\s+
\s+(.*?)\s?(.*?)""", re.S) _contactsNextRe = re.compile(r""".*Next""", re.S) @@ -70,8 +70,9 @@ class GCDialer(object): self._browser.cookies.load() self._accessToken = None - self._accountNum = None + self._accountNum = "" self._lastAuthed = 0.0 + self._callbackNumber = "" self._callbackNumbers = {} self.__contacts = None @@ -220,6 +221,7 @@ class GCDialer(object): Set the number that grandcental calls @param callbacknumber should be a proper 10 digit number """ + self._callbackNumber = callbacknumber callbackPostData = urllib.urlencode({ 'a_t': self._accessToken, 'default_number': callbacknumber @@ -240,7 +242,7 @@ class GCDialer(object): for c in self._browser.cookies: if c.name == "pda_forwarding_number": return c.value - return None + return self._callbackNumber def get_recent(self): """ @@ -331,9 +333,10 @@ class GCDialer(object): self._accessToken = atGroup.group(1) anGroup = self._accountNumRe.search(data) - if anGroup is None: - raise RuntimeError("Could not extract account number from GrandCentral") - self._accountNum = anGroup.group(1) + if anGroup is not None: + self._accountNum = anGroup.group(1) + else: + warnings.warn("Could not extract account number from GrandCentral", UserWarning, 2) self._callbackNumbers = {} for match in self._callbackRe.finditer(data): @@ -346,7 +349,7 @@ def test_backend(username, password): print "Authenticated: ", backend.is_authed() print "Login?: ", backend.login(username, password) print "Authenticated: ", backend.is_authed() - print "Token: ", backend._accessToken + # print "Token: ", backend._accessToken print "Account: ", backend.get_account_number() print "Callback: ", backend.get_callback_number() # print "All Callback: ",