From d65ddb6ba93e739d7ebd87678acf6dcb34c719c6 Mon Sep 17 00:00:00 2001 From: Dimaqa Date: Fri, 25 Sep 2020 15:21:09 +0300 Subject: [PATCH] should catch error on get, not on req creation --- pynetbox/core/endpoint.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pynetbox/core/endpoint.py b/pynetbox/core/endpoint.py index f2f488b1..93e8e675 100644 --- a/pynetbox/core/endpoint.py +++ b/pynetbox/core/endpoint.py @@ -147,18 +147,23 @@ def get(self, *args, **kwargs): return filter_lookup[0] return None - try: - req = Request( - key=key, - base=self.url, - token=self.token, - session_key=self.session_key, - http_session=self.api.http_session, - ) - except RequestError: - return None + req = Request( + key=key, + base=self.url, + token=self.token, + session_key=self.session_key, + http_session=self.api.http_session, + ) - return response_loader(req.get(), self.return_obj, self) + try: + resp = req.get() + except RequestError as e: + if e.req.status_code == 404: + return None + else: + raise e + + return response_loader(resp, self.return_obj, self) def filter(self, *args, **kwargs): r"""Queries the 'ListView' of a given endpoint.