Added support for legacy and current account number extraction
authorepage <eopage@byu.net>
Sat, 13 Jun 2009 23:01:13 +0000 (23:01 +0000)
committerepage <eopage@byu.net>
Sat, 13 Jun 2009 23:01:13 +0000 (23:01 +0000)
git-svn-id: file:///svnroot/gc-dialer/trunk@362 c39d3808-3fe2-4d86-a59f-b7f623ee9f21

src/gc_backend.py

index a5e550e..67723c7 100644 (file)
@@ -44,7 +44,8 @@ class GCDialer(object):
        _accessTokenRe = re.compile(r"""<input type="hidden" name="a_t" [^>]*value="(.*)"/>""")
        _isLoginPageRe = re.compile(r"""<form method="post" action="https://www.grandcentral.com/mobile/account/login">""")
        _callbackRe = re.compile(r"""name="default_number" value="(\d+)" />\s+(.*)\s$""", re.M)
-       _accountNumRe = re.compile(r"""<input type="hidden" name="gcentral_num" [^>]*value="(.*)"/>""")
+       _accountNumRe = re.compile(r"""<img src="/images/mobile/inbox_logo.gif" alt="GrandCentral" />\s*(.{14})\s*&nbsp""", re.M)
+       _upgradedAccountNumRe = re.compile(r"""<input type="hidden" name="gcentral_num" [^>]*value="(.*)"/>""")
        _inboxRe = re.compile(r"""<td>.*?(voicemail|received|missed|call return).*?</td>\s+<td>\s+<font size="2">\s+(.*?)\s+&nbsp;\|&nbsp;\s+<a href="/mobile/contacts/.*?">(.*?)\s?</a>\s+<br/>\s+(.*?)\s?<a href=""", re.S)
        _contactsRe = re.compile(r"""<a href="/mobile/contacts/detail/(\d+)">(.*?)</a>""", re.S)
        _contactsNextRe = re.compile(r""".*<a href="/mobile/contacts(\?page=\d+)">Next</a>""", re.S)
@@ -333,6 +334,8 @@ class GCDialer(object):
                self._accessToken = atGroup.group(1)
 
                anGroup = self._accountNumRe.search(data)
+               if anGroup is None:
+                       anGroup = self._upgradedAccountNumRe.search(data)
                if anGroup is not None:
                        self._accountNum = anGroup.group(1)
                else: