betwatch / betwatch-sdk-python

A Python package for interacting with the Betwatch API
https://betwatch.com
MIT License
2 stars 2 forks source link

repr for Price class breaking #14

Closed limx0 closed 7 months ago

limx0 commented 9 months ago

Hi,

Need to add a guard for 0.0 price flucs?

betwatch/types/markets.py", line 38, in __repr__
    fluc_change_pct = fluc_change / self.flucs[0].price * 100
                      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

ZeroDivisionError: float division by zero

from:

@dataclass
class Price:
    price: Union[float, None]
    _last_updated: str = field(metadata={"name": "lastUpdated"})

    flucs: Optional[List[Fluc]] = field(default_factory=list)

    def __repr__(self) -> str:
        # calculate fluc drop %
        if self.flucs:
            fluc_change = self.flucs[0].price - self.flucs[-1].price
            fluc_change_pct = fluc_change / self.flucs[0].price * 100
wattsjs commented 7 months ago

Thanks mate - fixed in latest