diff options
| -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}")  | 
