summaryrefslogtreecommitdiff
path: root/bla.py
diff options
context:
space:
mode:
Diffstat (limited to 'bla.py')
-rw-r--r--bla.py29
1 files changed, 13 insertions, 16 deletions
diff --git a/bla.py b/bla.py
index 979271f..e6eecb6 100644
--- a/bla.py
+++ b/bla.py
@@ -51,25 +51,22 @@ def generate_report(sale_entries, proceeds: float | Decimal, crypto_asset, date_
return report
-def read_kraken_ledger(csv_path: str) -> List[LedgerAction]:
- actions: List[LedgerAction] = []
+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)
- for row in reader:
- date = row["time"].split(" ")[0]
- actions.append(
- LedgerAction(
- type=row["type"],
- asset=row["asset"],
- amount=Decimal(row["amount"]),
- fee=Decimal(row.get("fee", "0")),
- refid=row.get("refid", ""),
- date=date,
- )
- )
-
- return actions
+ return list(map(parse_kraken_row, reader))
fifo_queues: Dict[str, FIFOQueue] = {} # Separate FIFO queue per cryptocurrency