# Shell MasterCard
#
# Douglas Thrift
#
# $Id$

from datetime import datetime
import re
import website

class Bank(website.Website):
	PAYMENT_DUE = re.compile(r'[A-Z][a-z]{2}\. \d{1,2}, \d{4}')

	def __init__(self, username, password, debug):
		website.Website.__init__(self, debug)

		self.browser.open('http://www.shellmc.accountonline.com/')
		self.browser.select_form(name = 'LOGIN')

		self.browser['USERNAME'] = username
		self.browser['PASSWORD'] = password

		self.browser.submit()

	def due(self, account):
		try:
			return datetime.strptime(self.PAYMENT_DUE.search(self.Soup(self.browser.follow_link(text_regex = account)).find(text = re.compile('Payment Due')).findNext(text = self.PAYMENT_DUE)).group(0), '%b. %d, %Y').date()
		finally:
			self.browser.back()
