6
6
from __future__ import print_function
7
7
from __future__ import unicode_literals
8
8
9
- from sys import version_info
10
9
import time
11
10
import random
12
11
13
12
import json
14
13
import socket
15
14
import requests
16
15
import requests .exceptions
16
+ from six .moves import xrange
17
+ from six .moves .urllib .parse import urlparse
17
18
18
19
from influxdb .line_protocol import make_lines , quote_ident , quote_literal
19
20
from influxdb .resultset import ResultSet
20
21
from .exceptions import InfluxDBClientError
21
22
from .exceptions import InfluxDBServerError
22
23
23
- try :
24
- xrange
25
- except NameError :
26
- xrange = range
27
-
28
- if version_info [0 ] == 3 :
29
- from urllib .parse import urlparse
30
- else :
31
- from urlparse import urlparse
32
-
33
24
34
25
class InfluxDBClient (object ):
35
26
"""InfluxDBClient primary client object to connect InfluxDB.
@@ -239,7 +230,6 @@ def request(self, url, method='GET', params=None, data=None,
239
230
_try = 0
240
231
while retry :
241
232
try :
242
- _error = False
243
233
response = self ._session .request (
244
234
method = method ,
245
235
url = url ,
@@ -254,25 +244,21 @@ def request(self, url, method='GET', params=None, data=None,
254
244
break
255
245
except (requests .exceptions .ConnectionError ,
256
246
requests .exceptions .HTTPError ,
257
- requests .exceptions .Timeout ) as _e :
258
- _error = _e
247
+ requests .exceptions .Timeout ):
259
248
_try += 1
260
249
if self ._retries != 0 :
261
250
retry = _try < self ._retries
262
251
if method == "POST" :
263
252
time .sleep ((2 ** _try ) * random .random () / 100.0 )
264
- if _error :
265
- raise (_error )
253
+ if not retry :
254
+ raise
255
+ # if there's not an error, there must have been a successful response
256
+ if 500 <= response .status_code < 600 :
257
+ raise InfluxDBServerError (response .content )
258
+ elif response .status_code == expected_response_code :
259
+ return response
266
260
else :
267
- # if there's not an error, there must have been a successful
268
- # response
269
- if 500 <= response .status_code < 600 :
270
- raise InfluxDBServerError (response .content )
271
- elif response .status_code == expected_response_code :
272
- return response
273
- else :
274
- raise InfluxDBClientError (response .content ,
275
- response .status_code )
261
+ raise InfluxDBClientError (response .content , response .status_code )
276
262
277
263
def write (self , data , params = None , expected_response_code = 204 ,
278
264
protocol = 'json' ):
0 commit comments