From 298f1a5a699f4ee576caf9260a788e3c449ce1a5 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Wed, 29 Aug 2018 21:31:18 +0300 Subject: [PATCH 1/3] introduce PEP 479 transition for python3.7 --- clickhouse_sqlalchemy/drivers/http/connector.py | 1 + 1 file changed, 1 insertion(+) diff --git a/clickhouse_sqlalchemy/drivers/http/connector.py b/clickhouse_sqlalchemy/drivers/http/connector.py index 2931e079..f6e0eeda 100644 --- a/clickhouse_sqlalchemy/drivers/http/connector.py +++ b/clickhouse_sqlalchemy/drivers/http/connector.py @@ -1,3 +1,4 @@ +from __future__ import generator_stop from uuid import uuid1 from .escaper import Escaper From 2c27d20edcf08468d8ac051fe501b72dce3fb50c Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Wed, 29 Aug 2018 22:06:18 +0300 Subject: [PATCH 2/3] refactor Cursor.__iter__ to conform with PEP 479. skip __future__ transition to support python 2.7, 3.4 --- clickhouse_sqlalchemy/drivers/http/connector.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/clickhouse_sqlalchemy/drivers/http/connector.py b/clickhouse_sqlalchemy/drivers/http/connector.py index f6e0eeda..48d702f1 100644 --- a/clickhouse_sqlalchemy/drivers/http/connector.py +++ b/clickhouse_sqlalchemy/drivers/http/connector.py @@ -1,4 +1,3 @@ -from __future__ import generator_stop from uuid import uuid1 from .escaper import Escaper @@ -161,16 +160,12 @@ def setoutputsize(self, size, column=None): pass # Iteration support. - def __next__(self): - one = self.fetchone() - if one is None: - raise StopIteration - return one - - next = __next__ - def __iter__(self): - return self + while True: + one = self.fetchone() + if one is None: + return + yield one # Private and non-standard methods. def cancel(self): From f3bb4da18ab5672c23f822ccb39f5ea8abe6a5d0 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Wed, 29 Aug 2018 22:22:48 +0300 Subject: [PATCH 3/3] introduce PEP 479 support to native driver --- clickhouse_sqlalchemy/drivers/native/connector.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/clickhouse_sqlalchemy/drivers/native/connector.py b/clickhouse_sqlalchemy/drivers/native/connector.py index 38f01068..038c941d 100644 --- a/clickhouse_sqlalchemy/drivers/native/connector.py +++ b/clickhouse_sqlalchemy/drivers/native/connector.py @@ -217,16 +217,12 @@ def setoutputsize(self, size, column=None): pass # Iteration support. - def __next__(self): - one = self.fetchone() - if one is None: - raise StopIteration - return one - - next = __next__ - def __iter__(self): - return self + while True: + one = self.fetchone() + if one is None: + return + yield one def _process_response(self, response, context): if not response: