From cb4d7aff5630b94dbc3455453e2bad37ccfd3ef4 Mon Sep 17 00:00:00 2001 From: Justus Adam Date: Wed, 5 Jun 2019 10:43:34 +0200 Subject: [PATCH] Implemented the context manager protocol --- influxdb/client.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/influxdb/client.py b/influxdb/client.py index 8ac557d3..adf47697 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -29,6 +29,9 @@ class InfluxDBClient(object): connect to InfluxDB. Requests can be made to InfluxDB directly through the client. + The client supports the use as a `context manager + `_. + :param host: hostname to connect to InfluxDB, defaults to 'localhost' :type host: str :param port: port to connect to InfluxDB, defaults to 8086 @@ -61,6 +64,7 @@ class InfluxDBClient(object): :type proxies: dict :param path: path of InfluxDB on the server to connect, defaults to '' :type path: str + """ def __init__(self, @@ -1055,6 +1059,14 @@ def close(self): if isinstance(self._session, requests.Session): self._session.close() + def __enter__(self): + """For use as context manager""" + pass + + def __exit__(self, _exc_type, _exc_value, _traceback): + """For use as context manager""" + self.close() + def _parse_dsn(dsn): """Parse data source name.