From b87a5ca320675a75ea8c8896e1747899b0e21d39 Mon Sep 17 00:00:00 2001 From: uvok Date: Mon, 14 Apr 2025 10:57:32 +0200 Subject: Fix program run --- bla.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/bla.py b/bla.py index 6c2a4c2..d3ddcdf 100644 --- a/bla.py +++ b/bla.py @@ -2,6 +2,7 @@ import csv from collections import defaultdict from datetime import datetime +from trade import Trade from trade_queue import FIFOQueue @@ -9,15 +10,16 @@ def generate_report(sale_entries, proceeds, crypto_asset, date_sold): report = [] sell_date = datetime.strptime(date_sold, "%Y-%m-%d").strftime("%d.%m.%Y") - for amount, cost, buy_date in sale_entries: - buy_date_formatted = datetime.strptime(buy_date, "%Y-%m-%d").strftime("%d.%m.%Y") - holding_period = (datetime.strptime(date_sold, "%Y-%m-%d") - datetime.strptime(buy_date, "%Y-%m-%d")).days + trade: Trade + for trade in sale_entries: + buy_date_formatted = datetime.strptime(trade.date, "%Y-%m-%d").strftime("%d.%m.%Y") + holding_period = (datetime.strptime(date_sold, "%Y-%m-%d") - datetime.strptime(trade.date, "%Y-%m-%d")).days short_or_long = "Short" if holding_period < 365 else "Long" - cost_basis = cost - gain_or_loss = proceeds - cost_basis + total_cost = trade.total_cost + gain_or_loss = proceeds - total_cost report.append({ - "Amount": f"{amount:.8f}", + "Amount": f"{trade.amount:.8f}", "Currency": crypto_asset, "Date Sold": sell_date, "Date Acquired": buy_date_formatted, @@ -25,7 +27,7 @@ def generate_report(sale_entries, proceeds, crypto_asset, date_sold): "Buy/Input at": "Kraken", "Sell/Output at": "Kraken", "Proceeds": f"{proceeds:.2f}", - "Cost Basis": f"{cost_basis:.2f}", + "Cost Basis": f"{total_cost:.2f}", "Gain/Loss": f"{gain_or_loss:.2f}", }) -- cgit v1.2.3