Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions beangulp/importers/csvbase.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,15 +211,17 @@ def __init__(self, credit, debit, subs=None, default=NA):
self.subs = subs if subs is not None else {}

def parse(self, credit, debit):
for pattern, replacement in self.subs.items():
credit = re.sub(pattern, replacement, credit)
for pattern, replacement in self.subs.items():
debit = re.sub(pattern, replacement, debit)
if credit and debit:
raise ValueError(
"The credit and debit fields cannot be populated at the same time"
)
if not credit and not debit:
raise ValueError("Neither credit or debit fields are populated")
value = credit if credit else debit
for pattern, replacement in self.subs.items():
value = re.sub(pattern, replacement, value)
parsed = decimal.Decimal(value)
return parsed if credit else -parsed

Expand Down