From d715d2680f20412877acf00773edb0f807635e77 Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Thu, 14 May 2026 13:29:33 -0500 Subject: [PATCH 1/3] Add a function for getting set of success statuses. Also, not that it really matters because none of the response codes actually go up to X99, but the ranges are exclusive of "end" so needed to increase the ranges by one each. (e.g. range(400, 499) should be range(400, 500) since 499 would have been excluded otherwise) --- src/ogd/apis/models/enums/ResponseStatus.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ogd/apis/models/enums/ResponseStatus.py b/src/ogd/apis/models/enums/ResponseStatus.py index 13566e0..b0bdf9c 100644 --- a/src/ogd/apis/models/enums/ResponseStatus.py +++ b/src/ogd/apis/models/enums/ResponseStatus.py @@ -81,6 +81,15 @@ class ResponseStatus(IntEnum): INSUFFICIENT_STORAGE = 507 LOOP_DETECTED = 508 + @staticmethod + def SuccessStatuses() -> Set["ResponseStatus"]: + """Gets the set of valid 400-level "client" error responses. + + :return: The set of valid 400-level "client" error responses. + :rtype: Set[ResponseStatus] + """ + return {status for status in set(ResponseStatus) if status in range(200, 300)} + @staticmethod def ClientErrors() -> Set["ResponseStatus"]: """Gets the set of valid 400-level "client" error responses. @@ -88,7 +97,7 @@ def ClientErrors() -> Set["ResponseStatus"]: :return: The set of valid 400-level "client" error responses. :rtype: Set[ResponseStatus] """ - return {status for status in set(ResponseStatus) if status in range(400, 499)} + return {status for status in set(ResponseStatus) if status in range(400, 500)} @staticmethod def ServerErrors() -> Set["ResponseStatus"]: @@ -97,7 +106,7 @@ def ServerErrors() -> Set["ResponseStatus"]: :return: The set of valid 500-level "server" error responses. :rtype: Set[ResponseStatus] """ - return {status for status in set(ResponseStatus) if status in range(500, 599)} + return {status for status in set(ResponseStatus) if status in range(500, 600)} def __str__(self): """Stringify function for ResponseStatus objects. From 6869c0b9514471d5d3ed31504f3ea56dba43002c Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Thu, 14 May 2026 13:31:57 -0500 Subject: [PATCH 2/3] Add property to check if given APIResponse was in the 'ok' range. --- src/ogd/apis/models/APIResponse.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ogd/apis/models/APIResponse.py b/src/ogd/apis/models/APIResponse.py index 68a8015..036bb5e 100644 --- a/src/ogd/apis/models/APIResponse.py +++ b/src/ogd/apis/models/APIResponse.py @@ -130,6 +130,9 @@ def Status(self) -> ResponseStatus: :rtype: ResponseStatus """ return self._status + @property + def OK(self) -> bool: + return self.Status in ResponseStatus.SuccessStatuses() @property def AsDict(self): From db1e05fda980221328b9d1cf0c4489de59d4f856 Mon Sep 17 00:00:00 2001 From: Luke Swanson Date: Thu, 14 May 2026 13:33:28 -0500 Subject: [PATCH 3/3] Add a comment block for the OK prop. --- src/ogd/apis/models/APIResponse.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ogd/apis/models/APIResponse.py b/src/ogd/apis/models/APIResponse.py index 036bb5e..8820b44 100644 --- a/src/ogd/apis/models/APIResponse.py +++ b/src/ogd/apis/models/APIResponse.py @@ -132,6 +132,13 @@ def Status(self) -> ResponseStatus: return self._status @property def OK(self) -> bool: + """Property indicating whether the APIResponse was successful or not. + + Technically, this includes both a true "OK" response and any other 200-range response. + + :return: True if the APIResponse status is in the 200 range, otherwise False. + :rtype: bool + """ return self.Status in ResponseStatus.SuccessStatuses() @property