http error handling in APIHandler method get_entry_from_elabid()

This commit is contained in:
2026-02-10 15:03:47 +01:00
parent 2117f61f36
commit ddd3775112

View File

@@ -24,8 +24,16 @@ class APIHandler:
url = f"{self.elaburl}/{entryType}/{elabid}",
verify=True
)
if response.status_code // 100 in [2,3]:
if response.status_code // 100 in [1,2,3]:
entry_data = response.json()
return entry_data
elif response.status_code // 100 == 4:
match response.status_code:
case 401|403:
raise ConnectionError(f"Invalid API key or authentication method.")
case 404:
raise ConnectionError(f"404: Not Found. This means there's no resource with this elabid (wrong elabid?) on your eLabFTW (wrong endpoint?).")
case _:
raise ConnectionError(f"HTTP request failed with status code: {response.status_code} (NOTE: 4xx means user's fault).")
else:
raise ConnectionError(f"HTTP request failed with status code: {response.status_code}.")
raise ConnectionError(f"There's a problem on the server. Status code: {response.status_code}.")