diff options
Diffstat (limited to 'bla.py')
-rw-r--r-- | bla.py | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -27,7 +27,6 @@ class FIFOQueue: raise ValueError("The amount to remove must be positive.") remaining = amount - cost_basis = 0 entries = [] while remaining > 0: @@ -36,17 +35,16 @@ class FIFOQueue: quantity, total_cost, date = self.queue[0] if quantity > remaining: - cost_basis += remaining * (total_cost / quantity) self.queue[0] = (quantity - remaining, total_cost, date) entries.append((remaining, total_cost, date)) remaining = 0 else: - cost_basis += quantity * (total_cost / quantity) remaining -= quantity entries.append((quantity, total_cost, date)) self.queue.popleft() - return cost_basis, entries + return entries + def generate_report(sale_entries, proceeds, crypto_asset, date_sold): report = [] @@ -117,7 +115,7 @@ def process_ledger(file_path, output_path): fifo_queues[crypto_asset].add(crypto_amount, stake_amount, date_sold) elif eur_amount > 0: # Sale of cryptocurrency proceeds = eur_amount - eur_fee # Account for EUR fees - _, sale_entries = fifo_queues[crypto_asset].remove(-crypto_amount) + sale_entries = fifo_queues[crypto_asset].remove(-crypto_amount) report.extend(generate_report(sale_entries, proceeds, crypto_asset, date_sold)) else: raise ValueError(f"Unexpected trade grouping for refid {refid}") |