diff options
author | Andrej Shadura <andrewsh@debian.org> | 2018-11-05 14:44:38 +0100 |
---|---|---|
committer | Andrej Shadura <andrewsh@debian.org> | 2018-11-05 14:44:38 +0100 |
commit | 4d73449bab819dddc8e7f52ddf01b6bacd2a7e40 (patch) | |
tree | 992d9135cdaf62c13cf05fb6bc73628b1d5c7577 /ofxparse/ofxprinter.py | |
parent | 8f6a863fcd6a0518ea8e3e1e863346553d0250ba (diff) | |
parent | 59c3ccc50d3504bfeb1a3f7e31ba806e2b5c3a07 (diff) |
Update upstream source from tag 'upstream/0.19'
Update to upstream version '0.19'
with Debian dir 0cc2866dc4222e919db114429121a55eadb99c77
Diffstat (limited to 'ofxparse/ofxprinter.py')
-rw-r--r-- | ofxparse/ofxprinter.py | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/ofxparse/ofxprinter.py b/ofxparse/ofxprinter.py index 4c0a13d..e39b895 100644 --- a/ofxparse/ofxprinter.py +++ b/ofxparse/ofxprinter.py @@ -1,3 +1,6 @@ +import six + + class OfxPrinter(): ofx = None out_filename = None @@ -24,7 +27,7 @@ class OfxPrinter(): ) def writeHeaders(self): - for k, v in self.ofx.headers.iteritems(): + for k, v in six.iteritems(self.ofx.headers): if v is None: self.writeLine("{0}:NONE".format(k)) else: @@ -71,8 +74,8 @@ class OfxPrinter(): self.writeLine("</STMTTRN>", tabs=tabs) def writeLedgerBal(self, statement, tabs=4): - bal = getattr(statement, 'balance') - baldt = getattr(statement, 'balance_date') + bal = getattr(statement, 'balance', None) + baldt = getattr(statement, 'balance_date', None) if bal and baldt: self.writeLine("<LEDGERBAL>", tabs=tabs) @@ -83,8 +86,8 @@ class OfxPrinter(): self.writeLine("</LEDGERBAL>", tabs=tabs) def writeAvailBal(self, statement, tabs=4): - bal = getattr(statement, 'available_balance') - baldt = getattr(statement, 'available_balance_date') + bal = getattr(statement, 'available_balance', None) + baldt = getattr(statement, 'available_balance_date', None) if bal and baldt: self.writeLine("<AVAILBAL>", tabs=tabs) @@ -176,19 +179,22 @@ class OfxPrinter(): # No newline at end of file self.writeLine("</OFX>", tabs=tabs, term="") - def write(self, filename=None, tabs=0): + def writeToFile(self, fileObject, tabs=0): if self.out_handle: raise Exception("Already writing file") - if filename is None: - filename = self.out_filename - - self.out_handle = open(filename, 'wb') + self.out_handle = fileObject self.writeHeaders() self.writeOfx(tabs=tabs) self.out_handle.flush() - self.out_handle.close() self.out_handle = None + + def write(self, filename=None, tabs=0): + if filename is None: + filename = self.out_filename + + with open(filename, 'w') as f: + self.writeToFile(f) |