This repository was archived by the owner on Mar 30, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -2,10 +2,17 @@ class APIKeyNotSetError(Exception):
2
2
pass
3
3
4
4
5
+ class APIBaseError (Exception ):
6
+ pass
7
+
8
+
5
9
class HypervectorError (Exception ):
6
10
def __init__ (self , response = None ):
7
11
self .response = response
8
- self .status_code = response .status_code
12
+ if response :
13
+ self .status_code = response .status_code
14
+ else :
15
+ self .status_code = None
9
16
10
17
11
18
Original file line number Diff line number Diff line change 1
1
import requests
2
2
import hypervector
3
- from hypervector .errors import APIKeyNotSetError , HypervectorError
3
+ from hypervector .errors import APIKeyNotSetError , HypervectorError , APIBaseError
4
4
5
5
6
6
class APIResource :
@@ -19,15 +19,23 @@ def get_headers(cls):
19
19
@classmethod
20
20
def get (cls , uuid ):
21
21
endpoint = f'{ hypervector .API_BASE } /{ cls .resource_name } /{ uuid } '
22
- response = requests .get (endpoint , headers = cls .get_headers ())
22
+ try :
23
+ response = requests .get (endpoint , headers = cls .get_headers ())
24
+ except requests .ConnectionError :
25
+ raise APIBaseError
26
+
23
27
if response .ok :
24
28
return cls .from_get (response )
25
29
else :
26
- raise HypervectorError ( response )
30
+ raise HypervectorError
27
31
28
32
@classmethod
29
33
def request (cls , endpoint , method = requests .get ):
30
- response = method (url = endpoint , headers = cls .get_headers ())
34
+ try :
35
+ response = method (url = endpoint , headers = cls .get_headers ())
36
+ except requests .ConnectionError :
37
+ raise APIBaseError
38
+
31
39
if response .ok :
32
40
return response .json ()
33
41
else :
You can’t perform that action at this time.
0 commit comments