@@ -71,9 +71,10 @@ def __init__(self,
71
71
'X-User-Agent' : f'python-sdk { SDK_VERSION } '
72
72
}
73
73
74
+ #TODO: Add exponential backoff so we don'tt overwhelm the api
74
75
@retry .Retry (predicate = retry .if_exception_type (
75
76
labelbox .exceptions .InternalServerError ))
76
- def execute (self , query , params = None , timeout = 10 .0 ):
77
+ def execute (self , query , params = None , timeout = 30 .0 ):
77
78
""" Sends a request to the server for the execution of the
78
79
given query.
79
80
@@ -126,25 +127,23 @@ def convert_value(value):
126
127
logger .debug ("Response: %s" , response .text )
127
128
except requests .exceptions .Timeout as e :
128
129
raise labelbox .exceptions .TimeoutError (str (e ))
129
-
130
130
except requests .exceptions .RequestException as e :
131
131
logger .error ("Unknown error: %s" , str (e ))
132
132
raise labelbox .exceptions .NetworkError (e )
133
-
134
133
except Exception as e :
135
134
raise labelbox .exceptions .LabelboxError (
136
135
"Unknown error during Client.query(): " + str (e ), e )
137
-
138
136
try :
139
137
r_json = response .json ()
140
138
except :
141
- error_502 = '502 Bad Gateway'
142
- if error_502 in response .text :
143
- raise labelbox .exceptions .InternalServerError (error_502 )
144
139
if "upstream connect error or disconnect/reset before headers" \
145
140
in response .text :
146
141
raise labelbox .exceptions .InternalServerError (
147
142
"Connection reset" )
143
+ elif response .status_code == 502 :
144
+ error_502 = '502 Bad Gateway'
145
+ raise labelbox .exceptions .InternalServerError (error_502 )
146
+
148
147
raise labelbox .exceptions .LabelboxError (
149
148
"Failed to parse response as JSON: %s" % response .text )
150
149
@@ -189,6 +188,7 @@ def check_errors(keywords, *path):
189
188
190
189
# Check if API limit was exceeded
191
190
response_msg = r_json .get ("message" , "" )
191
+
192
192
if response_msg .startswith ("You have exceeded" ):
193
193
raise labelbox .exceptions .ApiLimitError (response_msg )
194
194
@@ -292,7 +292,6 @@ def upload_data(self,
292
292
"1" : (filename , content , content_type ) if
293
293
(filename and content_type ) else content
294
294
})
295
-
296
295
try :
297
296
file_data = response .json ().get ("data" , None )
298
297
except ValueError as e : # response is not valid JSON
0 commit comments