summaryrefslogtreecommitdiff
path: root/ofxhome
diff options
context:
space:
mode:
Diffstat (limited to 'ofxhome')
-rw-r--r--ofxhome/__init__.py26
-rw-r--r--ofxhome/tests/test_suite.py96
2 files changed, 71 insertions, 51 deletions
diff --git a/ofxhome/__init__.py b/ofxhome/__init__.py
index c18a369..4ae9310 100644
--- a/ofxhome/__init__.py
+++ b/ofxhome/__init__.py
@@ -1,8 +1,16 @@
-import urllib
+try:
+ # Python3 case
+ from urllib.parse import urlencode
+ from urllib.request import urlopen
+except ImportError:
+ # Python2 case
+ from urllib import urlencode
+ from urllib2 import urlopen
+
from datetime import datetime
from xml.dom.minidom import parseString
-__version__ = '0.3.2'
+__version__ = '0.3.3'
API_URL='http://www.ofxhome.com/api.php'
@@ -29,7 +37,7 @@ class OFXHome:
See also: OFXHome.search()
"""
- return search()
+ return OFXHome.search()
@staticmethod
def search(name=None):
@@ -70,8 +78,8 @@ def _text(parent,name):
return ''.join(rc)
def _xml_request(params=None):
- encoded = urllib.urlencode(params)
- xml = urllib.urlopen("%s?%s" % (API_URL,encoded)).read()
+ encoded = urlencode(params)
+ xml = urlopen("%s?%s" % (API_URL,encoded)).read()
return xml
#---------------------------------------------
@@ -86,7 +94,9 @@ class InstitutionList:
@staticmethod
def from_file(file):
- return InstitutionList(open(file,'r').read())
+ with open(file, 'r') as f:
+ data = f.read()
+ return InstitutionList(data)
def __getitem__(self,item):
return self.items[item]
@@ -128,4 +138,6 @@ class Institution:
@staticmethod
def from_file(file):
- return Institution(open(file,'r').read())
+ with open(file, 'r') as f:
+ data = f.read()
+ return Institution(data)
diff --git a/ofxhome/tests/test_suite.py b/ofxhome/tests/test_suite.py
index 92f0b98..9d04930 100644
--- a/ofxhome/tests/test_suite.py
+++ b/ofxhome/tests/test_suite.py
@@ -6,51 +6,55 @@ import datetime
class InstitutionTestCase(unittest.TestCase):
def testGoodParse(self):
- xml = testfile('scottrade.xml').read()
+ with testfile('scottrade.xml') as f:
+ xml = f.read()
i = Institution(xml)
- self.assertEquals(i.id,'623')
- self.assertEquals(i.name,'Scottrade, Inc.')
- self.assertEquals(i.fid,'777')
- self.assertEquals(i.org,'Scottrade')
- self.assertEquals(i.brokerid,'www.scottrade.com')
- self.assertEquals(i.url,'https://ofxstl.scottsave.com')
- self.assertEquals(i.ofxfail,'0')
- self.assertEquals(i.sslfail,'4')
- self.assertEquals(i.lastofxvalidation,datetime.datetime(2012,8,13,22,28,10))
- self.assertEquals(i.lastsslvalidation,datetime.datetime(2011,9,28,22,22,22))
- self.assertEquals(i.xml, xml)
+ self.assertEqual(i.id,'623')
+ self.assertEqual(i.name,'Scottrade, Inc.')
+ self.assertEqual(i.fid,'777')
+ self.assertEqual(i.org,'Scottrade')
+ self.assertEqual(i.brokerid,'www.scottrade.com')
+ self.assertEqual(i.url,'https://ofxstl.scottsave.com')
+ self.assertEqual(i.ofxfail,'0')
+ self.assertEqual(i.sslfail,'4')
+ self.assertEqual(i.lastofxvalidation,datetime.datetime(2012,8,13,22,28,10))
+ self.assertEqual(i.lastsslvalidation,datetime.datetime(2011,9,28,22,22,22))
+ self.assertEqual(i.xml, xml)
def testOptionalBroker(self):
- xml = testfile('jpmorgan.xml').read()
+ with testfile('jpmorgan.xml') as f:
+ xml = f.read()
i = Institution(xml)
- self.assertEquals(i.id,'435')
- self.assertEquals(i.name,'JPMorgan Chase Bank')
- self.assertEquals(i.fid,'1601')
- self.assertEquals(i.org,'Chase Bank')
- self.assertEquals(i.brokerid,'')
- self.assertEquals(i.url,'https://www.oasis.cfree.com/1601.ofxgp')
- self.assertEquals(i.ofxfail,'0')
- self.assertEquals(i.sslfail,'0')
- self.assertEquals(i.lastofxvalidation,datetime.datetime(2014,8,17,22,23,35))
- self.assertEquals(i.lastsslvalidation,datetime.datetime(2014,8,17,22,23,34))
- self.assertEquals(i.xml, xml)
+ self.assertEqual(i.id,'435')
+ self.assertEqual(i.name,'JPMorgan Chase Bank')
+ self.assertEqual(i.fid,'1601')
+ self.assertEqual(i.org,'Chase Bank')
+ self.assertEqual(i.brokerid,'')
+ self.assertEqual(i.url,'https://www.oasis.cfree.com/1601.ofxgp')
+ self.assertEqual(i.ofxfail,'0')
+ self.assertEqual(i.sslfail,'0')
+ self.assertEqual(i.lastofxvalidation,datetime.datetime(2014,8,17,22,23,35))
+ self.assertEqual(i.lastsslvalidation,datetime.datetime(2014,8,17,22,23,34))
+ self.assertEqual(i.xml, xml)
def testFromFile(self):
i = Institution.from_file( testfile_name('scottrade.xml') )
- self.assertEquals(i.id,'623')
- self.assertEquals(i['id'],'623')
+ self.assertEqual(i.id,'623')
+ self.assertEqual(i['id'],'623')
def testDictKeys(self):
- xml = testfile('scottrade.xml').read()
+ with testfile('scottrade.xml') as f:
+ xml = f.read()
i = Institution(xml)
- self.assertEquals(i['id'],'623')
- self.assertEquals(i['name'],'Scottrade, Inc.')
+ self.assertEqual(i['id'],'623')
+ self.assertEqual(i['name'],'Scottrade, Inc.')
i['id'] = '123'
- self.assertEquals(i['id'],'123')
+ self.assertEqual(i['id'],'123')
def testBadParse(self):
- xml = testfile('badxml_bank.xml').read()
+ with testfile('badxml_bank.xml') as f:
+ xml = f.read()
try:
l = Institution(xml)
self.assertFalse(0)
@@ -61,32 +65,36 @@ class InstitutionListTestCase(unittest.TestCase):
def testFromFile(self):
l = InstitutionList.from_file( testfile_name('search_america.xml') )
- self.assertEquals(len(l),15)
+ self.assertEqual(len(l),15)
def testGoodResult(self):
- xml = testfile('search_america.xml').read()
+ with testfile('search_america.xml') as f:
+ xml = f.read()
l = InstitutionList(xml)
- self.assertEquals(len(l),15)
- self.assertEquals(l.xml,xml)
- self.assertEquals(l[0]['id'],'533')
- self.assertEquals(l[0]['name'],'America First Credit Union')
+ self.assertEqual(len(l),15)
+ self.assertEqual(l.xml,xml)
+ self.assertEqual(l[0]['id'],'533')
+ self.assertEqual(l[0]['name'],'America First Credit Union')
def testResultWithPHPError(self):
- xml = testfile('search_noexist.xml').read()
+ with testfile('search_noexist.xml') as f:
+ xml = f.read()
l = InstitutionList(xml)
- self.assertEquals(len(l),0)
- self.assertEquals(l.xml,xml)
+ self.assertEqual(len(l),0)
+ self.assertEqual(l.xml,xml)
def testIterator(self):
count = 0
- xml = testfile('search_america.xml').read()
+ with testfile('search_america.xml') as f:
+ xml = f.read()
l = InstitutionList(xml)
for i in l:
count += 1
- self.assertEquals(count,15)
+ self.assertEqual(count,15)
def testBadXML(self):
- xml = testfile('badxml_search.xml').read()
+ with testfile('badxml_search.xml') as f:
+ xml = f.read()
try:
l = InstitutionList(xml)
self.assertFalse(0)
@@ -102,7 +110,7 @@ def testfile_name(filename):
return path
def testfile(filename):
- return file(testfile_name(filename))
+ return open(testfile_name(filename))
if __name__ == '__main__':