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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy