http error handling in APIHandler method get_entry_from_elabid()
This commit is contained in:
@@ -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}.")
|
||||
Reference in New Issue
Block a user