ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/FreeBSDAdmin/Reminder/shellmc.py
(Generate patch)

Comparing FreeBSDAdmin/Reminder/shellmc.py (file contents):
Revision 1178 by douglas, 2009-05-17T14:30:08-07:00 vs.
Revision 1179 by douglas, 2009-05-19T16:53:29-07:00

# Line 4 | Line 4
4   #
5   # $Id$
6  
7 < from __future__ import with_statement
7 > import bank
8   from ClientForm import FormParser
9 import common
9   from datetime import datetime
10   from mechanize import LinkNotFoundError
11   import re
# Line 44 | Line 43 | class _FormParser(FormParser):
43                  except ValueError:
44                          pass
45  
46 < class Bank(website.Website, common.Bank):
47 <        PAYMENT_DUE = re.compile(r'[A-Z][a-z]{2}\. \d{1,2}, \d{4}')
46 > class Bank(website.Website, bank.Bank):
47 >        PAYMENT_DUE = re.compile(r'([A-Z][a-z]{2})\.?( \d{1,2}, \d{4})')
48  
49 <        def __init__(self, username, password, debug):
49 >        def __init__(self, config, debug):
50                  website.Website.__init__(self, debug, factory = website.Factory(_FormParser))
51 +                bank.Bank.__init__(self, config)
52  
53                  self.browser.open('http://www.shellmc.accountonline.com/')
54                  self.browser.select_form(name = 'LOGIN')
55  
56 <                self.browser['USERNAME'] = username
57 <                self.browser['PASSWORD'] = password
56 >                self.browser['USERNAME'] = self._username()
57 >                self.browser['PASSWORD'] = self._password()
58  
59                  self.browser.submit()
60  
# Line 81 | Line 81 | class Bank(website.Website, common.Bank)
81  
82          def due(self, account):
83                  try:
84 <                        return datetime.strptime(self.PAYMENT_DUE.search(self.Soup(self._follow_link(text_regex = account)).find(text = re.compile('Payment Due')).findNext(text = self.PAYMENT_DUE)).group(0), '%b. %d, %Y').date()
84 >                        return datetime.strptime(''.join(self.PAYMENT_DUE.search(self.Soup(self._follow_link(text_regex = account)).find(text = re.compile('Payment Due')).findNext(text = self.PAYMENT_DUE)).group(1, 2)), '%b %d, %Y').date()
85                  finally:
86                          self._back()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines