From 5aef5f529a1e439385397a8adeea3a7d24341e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Brunner?= Date: Wed, 16 Apr 2014 17:27:48 +0200 Subject: [PATCH] CURRENT_NOW isn't always present --- i3pystatus/battery.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/i3pystatus/battery.py b/i3pystatus/battery.py index 821404c..2a88bf5 100644 --- a/i3pystatus/battery.py +++ b/i3pystatus/battery.py @@ -57,15 +57,21 @@ class Battery: class BatteryCharge(Battery): def consumption(self): - return self.battery_info["VOLTAGE_NOW"] * self.battery_info["CURRENT_NOW"] # V * A = W + if "VOLTAGE_NOW" in self.battery_info and "CURRENT_NOW" in self.battery_info: + return self.battery_info["VOLTAGE_NOW"] * self.battery_info["CURRENT_NOW"] # V * A = W + else: + return -1 def _percentage(self, design): return self.battery_info["CHARGE_NOW"] / self.battery_info["CHARGE_FULL" + design] def remaining(self): if self.status() == "Discharging": - # Ah / A = h * 60 min = min - return self.battery_info["CHARGE_NOW"] / self.battery_info["CURRENT_NOW"] * 60 + if "CHARGE_NOW" in self.battery_info and "CURRENT_NOW" in self.battery_info: + # Ah / A = h * 60 min = min + return self.battery_info["CHARGE_NOW"] / self.battery_info["CURRENT_NOW"] * 60 + else: + return -1 else: return (self.battery_info["CHARGE_FULL"] - self.battery_info["CHARGE_NOW"]) / self.battery_info["CURRENT_NOW"] * 60