diff options
Diffstat (limited to 'bla.py')
-rw-r--r-- | bla.py | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -10,6 +10,8 @@ class FIFOQueue: self.queue.append((amount, cost, date)) def remove(self, amount): + if amount <= 0: + raise ValueError("The amount to remove must be positive.") remaining = amount cost_basis = 0 date_acquired = None @@ -101,7 +103,7 @@ def process_ledger(file_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 - cost_basis, sale_entries = fifo_queues[crypto_asset].remove(crypto_amount) + cost_basis, 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}") |