ofx-processor/ofx_processor/processors/ce.py

33 lines
831 B
Python
Raw Normal View History

2020-02-26 17:22:13 +01:00
import re
import click
2020-02-26 17:22:13 +01:00
from ofx_processor.processors.bpvf import BpvfProcessor, BpvfLine
class CeLine(BpvfLine):
@staticmethod
def _process_name_and_memo(name: str, memo: str):
name = name.strip()
cb_format = re.compile(r"FACT \d{6}$")
match = cb_format.search(name)
if match:
res_name = name[: match.start() - 1].strip()
res_memo = name[match.start() - 1 :].strip()
else:
res_name = name
res_memo = memo
return res_name, res_memo
class CeProcessor(BpvfProcessor):
account_name = "ce"
2020-02-26 17:22:13 +01:00
line_class = CeLine
@staticmethod
2020-02-29 18:26:32 +01:00
@click.command("ce")
@click.argument("ofx_filename")
def main(ofx_filename):
2020-02-29 18:26:32 +01:00
"""Import CE bank statement (OFX file)."""
CeProcessor(ofx_filename).push_to_ynab()