From cae0fff59137661713d39ca775276044b1f19c88 Mon Sep 17 00:00:00 2001 From: cclose Date: Sat, 11 Aug 2018 12:11:20 -0500 Subject: [PATCH 1/2] Update dlipower.py If the switch does not let you have access to all ports and the port you do have access to has an index larger than the number of ports the switch let's you see, it will throw an exception. Example: I had a switch that only gave me port 5. Even when specifying the port directly, the script would bomb out because it believed i was asking for a port out of range. Doing the explicit compare on port number avoids this issue. --- dlipower/dlipower.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dlipower/dlipower.py b/dlipower/dlipower.py index f0182a5..6fd38df 100755 --- a/dlipower/dlipower.py +++ b/dlipower/dlipower.py @@ -429,11 +429,16 @@ def determine_outlet(self, outlet=None): returned outlet is an int """ outlets = self.statuslist() - if outlet and outlets and isinstance(outlet, str): + if outlet and outlets and (isinstance(outlet, str) or isinstance(outlet, int)): for plug in outlets: plug_name = plug[1] - if plug_name and plug_name.strip() == outlet.strip(): - return int(plug[0]) + plug_number = int(plug[0]) + if isinstance(outlet, str): + if plug_name and plug_name.strip() == outlet.strip(): + return plug_number + elif isinstance(outlet, int): + if plug_number and plug_number == outlet + return plug_number try: outlet_int = int(outlet) if outlet_int <= 0 or outlet_int > self.__len__(): From 17de31e792257623cc0245add29d00ea3f06add4 Mon Sep 17 00:00:00 2001 From: cclose Date: Sat, 11 Aug 2018 12:16:32 -0500 Subject: [PATCH 2/2] Update dlipower.py Fixing Syntax Error --- dlipower/dlipower.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlipower/dlipower.py b/dlipower/dlipower.py index 6fd38df..935f683 100755 --- a/dlipower/dlipower.py +++ b/dlipower/dlipower.py @@ -437,7 +437,7 @@ def determine_outlet(self, outlet=None): if plug_name and plug_name.strip() == outlet.strip(): return plug_number elif isinstance(outlet, int): - if plug_number and plug_number == outlet + if plug_number and plug_number == outlet: return plug_number try: outlet_int = int(outlet)