Increase options flexibility for BPVF and revolut
This commit is contained in:
parent
9dee12d2c5
commit
c91991169c
2 changed files with 34 additions and 16 deletions
|
@ -34,12 +34,20 @@ def process_name_and_memo(transaction):
|
|||
@click.command()
|
||||
@click.argument("ofx_filename")
|
||||
@click.option(
|
||||
"--ynab/--file-only",
|
||||
"--ynab/--no-ynab",
|
||||
"push_to_ynab",
|
||||
default=False,
|
||||
help="Push data directly to YNAB instead of just writing a file.",
|
||||
default=True,
|
||||
help="Push data directly to YNAB.",
|
||||
show_default=True,
|
||||
)
|
||||
def cli(ofx_filename, push_to_ynab):
|
||||
@click.option(
|
||||
"--file/--no-file",
|
||||
"output_file",
|
||||
default=False,
|
||||
help="Write a processed file.",
|
||||
show_default=True,
|
||||
)
|
||||
def cli(ofx_filename, push_to_ynab, output_file):
|
||||
parser = OFXTree()
|
||||
try:
|
||||
parser.parse(ofx_filename)
|
||||
|
@ -85,6 +93,7 @@ def cli(ofx_filename, push_to_ynab):
|
|||
)
|
||||
click.secho(f"Processed {len(ynab_transactions)} transactions total.", fg="blue")
|
||||
|
||||
if output_file:
|
||||
header = str(make_header(version=102))
|
||||
root = ofx.to_etree()
|
||||
data = ElementTree.tostring(root).decode()
|
||||
|
|
|
@ -38,11 +38,20 @@ def process_outflow(line):
|
|||
@click.command()
|
||||
@click.argument("csv_filename")
|
||||
@click.option(
|
||||
"--ynab/--file-only",
|
||||
default=False,
|
||||
help="Push data directly to YNAB instead of just writing a file.",
|
||||
"--ynab/--no-ynab",
|
||||
"push_to_ynab",
|
||||
default=True,
|
||||
help="Push data directly to YNAB.",
|
||||
show_default=True,
|
||||
)
|
||||
def cli(csv_filename, push_to_ynab):
|
||||
@click.option(
|
||||
"--file/--no-file",
|
||||
"output_file",
|
||||
default=False,
|
||||
help="Write a processed file.",
|
||||
show_default=True,
|
||||
)
|
||||
def cli(csv_filename, push_to_ynab, output_file):
|
||||
formatted_data = []
|
||||
ynab_transactions = []
|
||||
transaction_ids = defaultdict(int)
|
||||
|
@ -80,7 +89,7 @@ def cli(csv_filename, push_to_ynab):
|
|||
}
|
||||
)
|
||||
|
||||
if formatted_data:
|
||||
if output_file and formatted_data:
|
||||
processed_file = os.path.join(os.path.dirname(csv_filename), "processed.csv")
|
||||
with open(processed_file, "w") as f:
|
||||
writer = csv.DictWriter(
|
||||
|
|
Loading…
Reference in a new issue