summaryrefslogtreecommitdiff
path: root/ofxclient/institution.py
diff options
context:
space:
mode:
authorAndrew Shadura <andrewsh@debian.org>2016-10-19 17:41:10 +0200
committerAndrew Shadura <andrewsh@debian.org>2016-10-19 17:41:10 +0200
commit219aa6f7c3c88da2a7023186e5ca660c708ef94f (patch)
tree64c5dde72daf4e277c459f3a1e4bb8906b1212b4 /ofxclient/institution.py
parent7fe4ae7c48cfd06ebee0e7a02077c998b83b1c38 (diff)
Imported Upstream version 2.0.2
Diffstat (limited to 'ofxclient/institution.py')
-rw-r--r--ofxclient/institution.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/ofxclient/institution.py b/ofxclient/institution.py
index b3da2b9..d3cd1b4 100644
--- a/ofxclient/institution.py
+++ b/ofxclient/institution.py
@@ -1,8 +1,17 @@
-import StringIO
+from __future__ import absolute_import
+from __future__ import unicode_literals
import hashlib
-from ofxclient.client import Client
+try:
+ # python 3
+ from io import StringIO
+except ImportError:
+ # python 2
+ from StringIO import StringIO
+
+from bs4 import BeautifulSoup
from ofxparse import OfxParser
-from BeautifulSoup import BeautifulStoneSoup
+
+from ofxclient.client import Client
class Institution(object):
@@ -47,7 +56,7 @@ class Institution(object):
)
for a in inst.accounts():
- print a.statement(days=5).balance
+ print(a.statement(days=5).balance)
"""
@@ -77,9 +86,9 @@ class Institution(object):
:rtype: string
"""
- return hashlib.sha256("%s%s" % (
+ return hashlib.sha256(("%s%s" % (
self.id,
- self.username)).hexdigest()
+ self.username)).encode()).hexdigest()
def _default_description(self):
return self.org
@@ -105,7 +114,7 @@ class Institution(object):
client = self.client()
query = client.authenticated_query(username=u, password=p)
res = client.post(query)
- ofx = BeautifulStoneSoup(res)
+ ofx = BeautifulSoup(res, 'lxml')
sonrs = ofx.find('sonrs')
code = int(sonrs.find('code').contents[0].strip())
@@ -129,7 +138,7 @@ class Institution(object):
client = self.client()
query = client.account_list_query()
resp = client.post(query)
- resp_handle = StringIO.StringIO(resp)
+ resp_handle = StringIO(resp)
parsed = OfxParser.parse(resp_handle)