Updating changelog
[gc-dialer] / tests / gv_samples / generate_gv_samples.py
index 0953779..2a1fbf3 100755 (executable)
@@ -1,10 +1,13 @@
 #!/usr/bin/env python
 
+from __future__ import with_statement
+
 import os
 import urllib
 import urllib2
 import traceback
 import warnings
+import logging
 
 import sys
 sys.path.append("/usr/lib/dialcentral")
@@ -13,70 +16,78 @@ sys.path.append("../../src")
 import browser_emu
 import gv_backend
 
-webpages = [
-       ("login", gv_backend.GVDialer._loginURL),
-       ("contacts", gv_backend.GVDialer._contactsURL),
-       ("voicemail", gv_backend.GVDialer._voicemailURL),
-       ("sms", gv_backend.GVDialer._smsURL),
-       ("forward", gv_backend.GVDialer._forwardURL),
-       ("recent", gv_backend.GVDialer._recentCallsURL),
-       ("placed", gv_backend.GVDialer._placedCallsURL),
-       ("recieved", gv_backend.GVDialer._receivedCallsURL),
-       ("missed", gv_backend.GVDialer._missedCallsURL),
-]
-
-
-# Create Browser
-browser = browser_emu.MozillaEmulator(1)
-cookieFile = os.path.join(".", ".gv_cookies.txt")
-browser.cookies.filename = cookieFile
-
-# Get Pages
-for name, url in webpages:
-       try:
-               page = browser.download(url)
-       except StandardError, e:
-               print e.message
-               continue
-       with open("not_loggedin_%s.txt" % name, "w") as f:
-               f.write(page)
-
-# Login
-username = sys.argv[1]
-password = sys.argv[2]
-
-loginPostData = urllib.urlencode({
-       'Email' : username,
-       'Passwd' : password,
-       'service': "grandcentral",
-       "ltmpl": "mobile",
-       "btmpl": "mobile",
-       "PersistentCookie": "yes",
-})
-
-try:
-       loginSuccessOrFailurePage = browser.download(gv_backend.GVDialer._loginURL, loginPostData)
-except urllib2.URLError, e:
-       warnings.warn(traceback.format_exc())
-       raise RuntimeError("%s is not accesible" % gv_backend.GVDialer._loginURL)
-with open("loggingin.txt", "w") as f:
-       f.write(loginSuccessOrFailurePage)
-
-forwardPage = browser.download(gv_backend.GVDialer._forwardURL)
-
-tokenGroup = gv_backend.GVDialer._tokenRe.search(forwardPage)
-if tokenGroup is None:
-       print forwardPage
-       raise RuntimeError("Could not extract authentication token from GoogleVoice")
-token = tokenGroup.group(1)
-
-# Get Pages
-for name, url in webpages:
+
+def main():
+       webpages = [
+               ("login", gv_backend.GVDialer._loginURL),
+               ("contacts", gv_backend.GVDialer._contactsURL),
+               ("voicemail", gv_backend.GVDialer._voicemailURL),
+               ("sms", gv_backend.GVDialer._smsURL),
+               ("forward", gv_backend.GVDialer._forwardURL),
+               ("recent", gv_backend.GVDialer._recentCallsURL),
+               ("placed", gv_backend.GVDialer._placedCallsURL),
+               ("recieved", gv_backend.GVDialer._receivedCallsURL),
+               ("missed", gv_backend.GVDialer._missedCallsURL),
+       ]
+
+
+       # Create Browser
+       browser = browser_emu.MozillaEmulator(1)
+       cookieFile = os.path.join(".", ".gv_cookies.txt")
+       browser.cookies.filename = cookieFile
+
+       # Get Pages
+       for name, url in webpages:
+               try:
+                       page = browser.download(url)
+               except StandardError, e:
+                       print e.message
+                       continue
+               print "Writing to file"
+               with open("not_loggedin_%s.txt" % name, "w") as f:
+                       f.write(page)
+
+       # Login
+       username = sys.argv[1]
+       password = sys.argv[2]
+
+       loginPostData = urllib.urlencode({
+               'Email' : username,
+               'Passwd' : password,
+               'service': "grandcentral",
+               "ltmpl": "mobile",
+               "btmpl": "mobile",
+               "PersistentCookie": "yes",
+       })
+
        try:
-               page = browser.download(url)
-       except StandardError, e:
+               loginSuccessOrFailurePage = browser.download(gv_backend.GVDialer._loginURL, loginPostData)
+       except urllib2.URLError, e:
                warnings.warn(traceback.format_exc())
-               continue
-       print "Writing to file"
-       with open("loggedin_%s.txt" % name, "w") as f:
-               f.write(page)
+               raise RuntimeError("%s is not accesible" % gv_backend.GVDialer._loginURL)
+       with open("loggingin.txt", "w") as f:
+               f.write(loginSuccessOrFailurePage)
+
+       forwardPage = browser.download(gv_backend.GVDialer._forwardURL)
+
+       tokenGroup = gv_backend.GVDialer._tokenRe.search(forwardPage)
+       if tokenGroup is None:
+               print forwardPage
+               raise RuntimeError("Could not extract authentication token from GoogleVoice")
+       token = tokenGroup.group(1)
+
+       # Get Pages
+       for name, url in webpages:
+               try:
+                       page = browser.download(url)
+               except StandardError, e:
+                       warnings.warn(traceback.format_exc())
+                       continue
+               print "Writing to file"
+               with open("loggedin_%s.txt" % name, "w") as f:
+                       f.write(page)
+
+
+if __name__ == "__main__":
+       logging.basicConfig(level=logging.DEBUG)
+       main()