Skip to content

Commit 423da91

Browse files
committed
Better exchange repairing
1 parent 155eda2 commit 423da91

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

activity_browser/ui/tables/models/activity.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from logging import getLogger
55

66
import pandas as pd
7+
import numpy as np
78
from asteval import Interpreter
89
from bw2data.parameters import (ActivityParameter, DatabaseParameter, Group,
910
ProjectParameter)
@@ -62,9 +63,13 @@ def create_row(self, exchange) -> dict:
6263
"""Take the given Exchange object and extract a number of attributes."""
6364
try:
6465
# fixing a broken exchange
65-
if not isinstance(exchange.get("amount"), float):
66+
if not isinstance(exchange.get("amount"), float) or pd.isna(exchange.get("amount")):
6667
log.warning(f"Fixing broken exchange amount for {exchange.get('type', '')} exchange from: {exchange.input}")
67-
exchange["amount"] = 1.0 # Ensure amount is a float
68+
try:
69+
amount = float(exchange.get("amount")) if exchange.get("amount") is not np.nan else 1.0
70+
except TypeError:
71+
amount = 1.0
72+
exchange["amount"] = amount
6873
exchange.save()
6974

7075
row = {

0 commit comments

Comments
 (0)