Skip to content

Instantly share code, notes, and snippets.

@jacobian
Created October 8, 2010 20:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jacobian/617435 to your computer and use it in GitHub Desktop.
Save jacobian/617435 to your computer and use it in GitHub Desktop.
import datetime
import mechanize
from xml.etree import cElementTree
USERNAME = '...'
PASSWORD = '...'
NUMBER = '2025551212'
br = mechanize.Browser()
br.open('https://ebillpay.verizonwireless.com/vzw/accountholder/overview/AccountOverview.action')
br.select_form('loginForm')
br['IDToken1'] = USERNAME
br['IDToken2'] = PASSWORD
br.submit()
resp = br.open('https://ebillpay.verizonwireless.com/vzw/secure/overview/OverviewData.action?activeMtn=%s' % NUMBER)
data = resp.read()
xml = cElementTree.fromstring(data)
usage_kb = xml.find('summaryUsageInKB').text.replace(',', '')
usage_mb = float(usage_kb) / 1024
allowance_mb = float(xml.find('summaryAllowance').text.split(' ', 1)[0])
end_date = xml.find('billCyleEndDate').text # sic
end_date = datetime.datetime.strptime(end_date, '%m/%d/%y').date()
remaining_mb = allowance_mb - usage_mb
remaining_days = (end_date - datetime.date.today()).days
remaining_mb_per_day = remaining_mb / remaining_days
print "Used %d MB of %d MB; %d MB remaining until %s (%.2f MB/day)" % \
(usage_mb, allowance_mb, remaining_mb, end_date, remaining_mb_per_day)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment