From bca911192e77120daf74903d51fcd03eaaa3f4a0 Mon Sep 17 00:00:00 2001 From: uvok Date: Wed, 16 Apr 2025 20:10:12 +0200 Subject: Separate ledger read functions --- bla.py | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) (limited to 'bla.py') diff --git a/bla.py b/bla.py index e6eecb6..3413656 100644 --- a/bla.py +++ b/bla.py @@ -1,11 +1,11 @@ import csv -from collections import defaultdict from datetime import datetime from decimal import Decimal from itertools import groupby import logging from typing import Dict, List +from kraken import read_ledger from ledger_action import LedgerAction from trade import Trade from trade_queue import FIFOQueue @@ -51,24 +51,6 @@ def generate_report(sale_entries, proceeds: float | Decimal, crypto_asset, date_ return report -def parse_kraken_row(row: dict) -> LedgerAction: - date = row["time"].split(" ")[0] - return LedgerAction( - type=row["type"], - asset=row["asset"], - amount=Decimal(row["amount"]), - fee=Decimal(row.get("fee", "0")), - refid=row.get("refid", ""), - date=date, - ) - - -def read_kraken_ledger(csv_path: str) -> List[LedgerAction]: - with open(csv_path, "r") as file: - reader = csv.DictReader(file) - return list(map(parse_kraken_row, reader)) - - fifo_queues: Dict[str, FIFOQueue] = {} # Separate FIFO queue per cryptocurrency report = [] @@ -167,5 +149,5 @@ logging.basicConfig(level=logging.DEBUG) # Usage ledger_path = "kraken_ledger.csv" # Replace with your ledger file path output_path = "tax_report.csv" # Replace with your desired output file path -actions = read_kraken_ledger(ledger_path) +actions = read_ledger(ledger_path) process_ledger(actions, output_path) -- cgit v1.2.3