From 8e33d03a37cf543196636f185e6fa92f15458453 Mon Sep 17 00:00:00 2001 From: Adam Bozanich Date: Fri, 6 Aug 2021 21:03:02 -0700 Subject: [PATCH 1/2] handle unattached hardware reservations This is currently failing with: ``` TypeError: 'NoneType' object is not subscriptable ``` Signed-off-by: Adam Bozanich --- packet/HardwareReservation.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packet/HardwareReservation.py b/packet/HardwareReservation.py index 0238fd5..ce6be5b 100644 --- a/packet/HardwareReservation.py +++ b/packet/HardwareReservation.py @@ -44,6 +44,12 @@ def __init__(self, data, manager): # except (KeyError, IndexError): # self.attached_to = None + + # not attached + if data["device"] is None: + self.attached_to = None + return + try: device_data = self.manager.call_api(data["device"]["href"], type="GET") self.device = Device(device_data, self.manager) From 37af084be5b8462c8dfcf52ff4894af932aca702 Mon Sep 17 00:00:00 2001 From: Marques Johansson Date: Sun, 29 Aug 2021 17:00:35 -0400 Subject: [PATCH 2/2] catch TypeError in HardwareReservation device assignment Signed-off-by: Marques Johansson --- packet/HardwareReservation.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packet/HardwareReservation.py b/packet/HardwareReservation.py index ce6be5b..7117047 100644 --- a/packet/HardwareReservation.py +++ b/packet/HardwareReservation.py @@ -44,16 +44,10 @@ def __init__(self, data, manager): # except (KeyError, IndexError): # self.attached_to = None - - # not attached - if data["device"] is None: - self.attached_to = None - return - try: device_data = self.manager.call_api(data["device"]["href"], type="GET") self.device = Device(device_data, self.manager) - except (KeyError, IndexError): + except (KeyError, IndexError, TypeError): self.attached_to = None def __str__(self):