From 3da299af900167d508534a30716b60788df921b4 Mon Sep 17 00:00:00 2001
From: Matt <cadnce@users.noreply.github.com>
Date: Wed, 8 Mar 2017 00:25:42 +0000
Subject: [PATCH 1/3] Adding/updating docstring parameters

---
 influxdb/client.py                       | 15 +++++++++++----
 influxdb/tests/helper_test.py            |  4 ++--
 influxdb/tests/influxdb08/helper_test.py |  8 ++++----
 influxdb/tests/server_tests/base.py      |  8 ++++----
 4 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/influxdb/client.py b/influxdb/client.py
index 0698c871..7124fe6a 100644
--- a/influxdb/client.py
+++ b/influxdb/client.py
@@ -205,6 +205,8 @@ def request(self, url, method='GET', params=None, data=None,
         :param expected_response_code: the expected response code of
             the request, defaults to 200
         :type expected_response_code: int
+        :param headers: headers to add to the request
+        :type headers: dict
         :returns: the response from the request
         :rtype: :class:`requests.Response`
         :raises InfluxDBServerError: if the response code is any server error
@@ -322,6 +324,11 @@ def query(self,
         :param params: additional parameters for the request, defaults to {}
         :type params: dict
 
+        :param epoch: response timestamps to be in epoch format either 'h',
+            'm', 's', 'ms', 'u', or 'ns',defaults to `None` which is
+            RFC3339 UTC format with nanosecond precision
+        :type epoch: str
+
         :param expected_response_code: the expected status code of response,
             defaults to 200
         :type expected_response_code: int
@@ -396,7 +403,7 @@ def write_points(self,
 
         :param points: the list of points to be written in the database
         :type points: list of dictionaries, each dictionary represents a point
-        :type data: (if protocol is 'json') list of dicts, where each dict
+        :type points: (if protocol is 'json') list of dicts, where each dict
                                             represents a point.
                     (if protocol is 'line') sequence of line protocol strings.
         :param time_precision: Either 's', 'm', 'ms' or 'u', defaults to None
@@ -575,7 +582,7 @@ def alter_retention_policy(self, name, database=None,
         :type duration: str
         :param replication: the new replication of the existing
             retention policy
-        :type replication: str
+        :type replication: int
         :param default: whether or not to set the modified policy as default
         :type default: bool
 
@@ -704,9 +711,9 @@ def delete_series(self, database=None, measurement=None, tags=None):
             deleted, defaults to client's current database
         :type database: str
         :param measurement: Delete all series from a measurement
-        :type id: str
+        :type measurement: str
         :param tags: Delete all series that match given tags
-        :type id: dict
+        :type tags: dict
         """
         database = database or self._database
         query_str = 'DROP SERIES'
diff --git a/influxdb/tests/helper_test.py b/influxdb/tests/helper_test.py
index 10546286..44392f80 100644
--- a/influxdb/tests/helper_test.py
+++ b/influxdb/tests/helper_test.py
@@ -261,9 +261,9 @@ class Meta:
         self.assertEqual(point2['time'], yesterday)
 
     def testInvalidHelpers(self):
-        '''
+        """
         Tests errors in invalid helpers.
-        '''
+        """
         class MissingMeta(SeriesHelper):
             pass
 
diff --git a/influxdb/tests/influxdb08/helper_test.py b/influxdb/tests/influxdb08/helper_test.py
index e744d1e4..c9ce311f 100644
--- a/influxdb/tests/influxdb08/helper_test.py
+++ b/influxdb/tests/influxdb08/helper_test.py
@@ -83,9 +83,9 @@ def testSingleSeriesName(self):
             'Resetting helper did not empty datapoints.')
 
     def testSeveralSeriesNames(self):
-        '''
+        """
         Tests JSON conversion when there is only one series name.
-        '''
+        """
         TestSeriesHelper.MySeriesHelper(server_name='us.east-1', time=159)
         TestSeriesHelper.MySeriesHelper(server_name='fr.paris-10', time=158)
         TestSeriesHelper.MySeriesHelper(server_name='lu.lux', time=157)
@@ -116,9 +116,9 @@ def testSeveralSeriesNames(self):
             'Resetting helper did not empty datapoints.')
 
     def testInvalidHelpers(self):
-        '''
+        """
         Tests errors in invalid helpers.
-        '''
+        """
         class MissingMeta(SeriesHelper):
             pass
 
diff --git a/influxdb/tests/server_tests/base.py b/influxdb/tests/server_tests/base.py
index 3566d7ba..f217fce1 100644
--- a/influxdb/tests/server_tests/base.py
+++ b/influxdb/tests/server_tests/base.py
@@ -41,9 +41,9 @@ def _teardown_influxdb_server(inst):
 
 
 class SingleTestCaseWithServerMixin(object):
-    ''' A mixin for unittest.TestCase to start an influxdb server instance
+    """ A mixin for unittest.TestCase to start an influxdb server instance
     in a temporary directory **for each test function/case**
-    '''
+    """
 
     # 'influxdb_template_conf' attribute must be set
     # on the TestCase class or instance.
@@ -53,10 +53,10 @@ class SingleTestCaseWithServerMixin(object):
 
 
 class ManyTestCasesWithServerMixin(object):
-    ''' Same than SingleTestCaseWithServerMixin
+    """ Same than SingleTestCaseWithServerMixin
     but creates a single instance for the whole class.
     Also pre-creates a fresh database: 'db'.
-    '''
+    """
 
     # 'influxdb_template_conf' attribute must be set on the class itself !
 

From 1a7e0fa54c54540fbd0e55108f82074a9a8b6b73 Mon Sep 17 00:00:00 2001
From: Matt <cadnce@users.noreply.github.com>
Date: Wed, 8 Mar 2017 00:33:53 +0000
Subject: [PATCH 2/3] Removed mutable default arguments

---
 influxdb/_dataframe_client.py | 4 ++--
 influxdb/tests/client_test.py | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/influxdb/_dataframe_client.py b/influxdb/_dataframe_client.py
index ef1fa78f..f8fcc949 100644
--- a/influxdb/_dataframe_client.py
+++ b/influxdb/_dataframe_client.py
@@ -227,7 +227,7 @@ def _convert_dataframe_to_lines(self,
                                     measurement,
                                     field_columns=None,
                                     tag_columns=None,
-                                    global_tags={},
+                                    global_tags=None,
                                     time_precision=None,
                                     numeric_precision=None):
 
@@ -366,7 +366,7 @@ def _stringify_dataframe(self,
 
         if datatype == 'field':
             # If dealing with fields, format ints and strings correctly
-            dataframe[int_columns] = dataframe[int_columns] + 'i'
+            dataframe[int_columns] += 'i'
             dataframe[string_columns] = '"' + dataframe[string_columns] + '"'
         elif datatype == 'tag':
             dataframe = dataframe.apply(_escape_pandas_series)
diff --git a/influxdb/tests/client_test.py b/influxdb/tests/client_test.py
index 0ba04f4a..e92aabdc 100644
--- a/influxdb/tests/client_test.py
+++ b/influxdb/tests/client_test.py
@@ -838,7 +838,7 @@ def __init__(self, *args, **kwargs):
 
     def query(self,
               query,
-              params={},
+              params=None,
               expected_response_code=200,
               database=None):
         if query == 'Fail':

From 268f2a78f8e3ec1f4fb7a1e57599b6812a148d7e Mon Sep 17 00:00:00 2001
From: Matt <cadnce@users.noreply.github.com>
Date: Wed, 8 Mar 2017 01:15:26 +0000
Subject: [PATCH 3/3] Simplified comparison in client

---
 influxdb/client.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/influxdb/client.py b/influxdb/client.py
index 7124fe6a..f72d6e7e 100644
--- a/influxdb/client.py
+++ b/influxdb/client.py
@@ -247,7 +247,7 @@ def request(self, url, method='GET', params=None, data=None,
                 else:
                     raise e
 
-        if response.status_code >= 500 and response.status_code < 600:
+        if 500 <= response.status_code < 600:
             raise InfluxDBServerError(response.content)
         elif response.status_code == expected_response_code:
             return response