Skip to content

Commit f50cdbc

Browse files
committed
trying to fix influxdata#531 by returning an actual generator when using query() in chunked mode
1 parent bf232a7 commit f50cdbc

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

influxdb/client.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ def switch_user(self, username, password):
201201
self._password = password
202202

203203
def request(self, url, method='GET', params=None, data=None,
204-
expected_response_code=200, headers=None):
204+
expected_response_code=200, headers=None, chunked=False):
205205
"""Make a HTTP request to the InfluxDB API.
206206
207207
:param url: the path of the HTTP request, e.g. write, query, etc.
@@ -249,7 +249,8 @@ def request(self, url, method='GET', params=None, data=None,
249249
headers=headers,
250250
proxies=self._proxies,
251251
verify=self._verify_ssl,
252-
timeout=self._timeout
252+
timeout=self._timeout,
253+
stream=chunked
253254
)
254255
break
255256
except (requests.exceptions.ConnectionError,
@@ -315,17 +316,17 @@ def write(self, data, params=None, expected_response_code=204,
315316

316317
@staticmethod
317318
def _read_chunked_response(response, raise_errors=True):
318-
result_set = {}
319319
for line in response.iter_lines():
320320
if isinstance(line, bytes):
321321
line = line.decode('utf-8')
322322
data = json.loads(line)
323+
result_set = {}
323324
for result in data.get('results', []):
324325
for _key in result:
325326
if isinstance(result[_key], list):
326327
result_set.setdefault(
327328
_key, []).extend(result[_key])
328-
return ResultSet(result_set, raise_errors=raise_errors)
329+
yield(ResultSet(result_set, raise_errors=raise_errors))
329330

330331
def query(self,
331332
query,
@@ -391,7 +392,8 @@ def query(self,
391392
method='GET',
392393
params=params,
393394
data=None,
394-
expected_response_code=expected_response_code
395+
expected_response_code=expected_response_code,
396+
chunked=chunked
395397
)
396398

397399
if chunked:

0 commit comments

Comments
 (0)