diff --git a/aioodbc/cursor.py b/aioodbc/cursor.py index 9ada322..b34f200 100644 --- a/aioodbc/cursor.py +++ b/aioodbc/cursor.py @@ -1,5 +1,6 @@ import pyodbc from .log import logger +from .utils import PY_352 __all__ = ['Cursor'] @@ -297,8 +298,12 @@ def rollback(self): fut = self._run_operation(self._impl.rollback) return fut - async def __aiter__(self): - return self + if PY_352: + async def __aiter__(self): + return self + else: + def __aiter__(self): + return self async def __anext__(self): ret = await self.fetchone() diff --git a/aioodbc/utils.py b/aioodbc/utils.py index 097120d..dec7c5c 100644 --- a/aioodbc/utils.py +++ b/aioodbc/utils.py @@ -1,6 +1,10 @@ +import sys from collections.abc import Coroutine +PY_352 = sys.version_info >= (3, 5, 2) + + class _ContextManager(Coroutine): __slots__ = ('_coro', '_obj') diff --git a/ci/Dockerfile b/ci/Dockerfile index 6b5aabb..2b16fea 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -1,8 +1,8 @@ -FROM python:3.5.1-slim +FROM python:3.5.2-slim RUN apt-get update && apt-get install -y \ unixODBC wget g++ unixodbc-dev odbc-postgresql libmyodbc libsqlite-dev libtool build-essential && \ odbcinst -i -d -f /usr/share/libmyodbc/odbcinst.ini && \ - wget http://http.us.debian.org/debian/pool/main/s/sqliteodbc/libsqliteodbc_0.9992-0.1_amd64.deb && \ + wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sqliteodbc/libsqliteodbc_0.9992-0.1_amd64.deb && \ dpkg -i libsqliteodbc_0.9992-0.1_amd64.deb ADD / /aioodbc