bug: fix zero division cases with miner data.

This commit is contained in:
Upstream Data
2024-05-13 14:41:37 -06:00
parent 1d6618c1c0
commit e0becce349

View File

@@ -277,9 +277,10 @@ class MinerData:
def percent_expected_hashrate(self): # noqa - Skip PyCharm inspection def percent_expected_hashrate(self): # noqa - Skip PyCharm inspection
if self.hashrate is None or self.expected_hashrate is None: if self.hashrate is None or self.expected_hashrate is None:
return None return None
if self.hashrate == 0 or self.expected_hashrate == 0: try:
return round((self.hashrate / self.expected_hashrate) * 100)
except ZeroDivisionError:
return 0 return 0
return round((self.hashrate / self.expected_hashrate) * 100)
@percent_expected_hashrate.setter @percent_expected_hashrate.setter
def percent_expected_hashrate(self, val): def percent_expected_hashrate(self, val):
@@ -289,9 +290,10 @@ class MinerData:
def percent_expected_wattage(self): # noqa - Skip PyCharm inspection def percent_expected_wattage(self): # noqa - Skip PyCharm inspection
if self.wattage_limit is None or self.wattage is None: if self.wattage_limit is None or self.wattage is None:
return None return None
if self.wattage_limit == 0 or self.wattage == 0: try:
return round((self.wattage / self.wattage_limit) * 100)
except ZeroDivisionError:
return 0 return 0
return round((self.wattage / self.wattage_limit) * 100)
@percent_expected_wattage.setter @percent_expected_wattage.setter
def percent_expected_wattage(self, val): def percent_expected_wattage(self, val):
@@ -317,9 +319,10 @@ class MinerData:
def efficiency(self): # noqa - Skip PyCharm inspection def efficiency(self): # noqa - Skip PyCharm inspection
if self.hashrate is None or self.wattage is None: if self.hashrate is None or self.wattage is None:
return None return None
if self.hashrate == 0 or self.wattage == 0: try:
return round(self.wattage / float(self.hashrate))
except ZeroDivisionError:
return 0 return 0
return round(self.wattage / float(self.hashrate))
@efficiency.setter @efficiency.setter
def efficiency(self, val): def efficiency(self, val):