Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit f8705f9

Browse filesBrowse files
authored
feat(client): add support for context managers (influxdata#816)
* feat(client): add support for context managers * chore(CHANGELOG): rebase against master
1 parent f7f30b5 commit f8705f9
Copy full SHA for f8705f9

File tree

Expand file treeCollapse file tree

2 files changed

+14
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+14
-0
lines changed

‎CHANGELOG.md

Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2323
- Add gzip compression for post and response data (#732 thx @KEClaytor)
2424
- Add support for chunked responses in ResultSet (#753 and #538 thx @hrbonz && @psy0rz)
2525
- Add support for empty string fields (#766 thx @gregschrock)
26+
- Add support for context managers to InfluxDBClient (#721 thx @JustusAdam)
2627

2728
### Changed
2829
- Clean up stale CI config (#755)
@@ -37,6 +38,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
3738
- Update client to type-set UDP port to int (#651 thx @yifeikong)
3839
- Update batched writing support for all iterables (#746 thx @JayH5)
3940
- Update SeriesHelper to enable class instantiation when not initialized (#772 thx @ocworld)
41+
- Update UDP test case to add proper timestamp to datapoints (#808 thx @shantanoo-desai)
4042

4143
### Removed
4244

‎influxdb/client.py

Copy file name to clipboardExpand all lines: influxdb/client.py
+12Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ class InfluxDBClient(object):
3535
connect to InfluxDB. Requests can be made to InfluxDB directly through
3636
the client.
3737
38+
The client supports the use as a `context manager
39+
<https://docs.python.org/3/reference/datamodel.html#context-managers>`_.
40+
3841
:param host: hostname to connect to InfluxDB, defaults to 'localhost'
3942
:type host: str
4043
:param port: port to connect to InfluxDB, defaults to 8086
@@ -78,6 +81,7 @@ class InfluxDBClient(object):
7881
requests Session, defaults to None
7982
:type session: requests.Session
8083
:raises ValueError: if cert is provided but ssl is disabled (set to False)
84+
8185
"""
8286

8387
def __init__(self,
@@ -165,6 +169,14 @@ def __init__(self,
165169

166170
self._gzip = gzip
167171

172+
def __enter__(self):
173+
"""Enter function as used by context manager."""
174+
pass
175+
176+
def __exit__(self, _exc_type, _exc_value, _traceback):
177+
"""Exit function as used by context manager."""
178+
self.close()
179+
168180
@property
169181
def _baseurl(self):
170182
return self.__baseurl

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.