From aa8e69f44393550a0b44761db33b1abf2cf32a4b Mon Sep 17 00:00:00 2001 From: davebshow <davebshow@gmail.com> Date: Tue, 9 Jun 2015 10:27:44 -0400 Subject: [PATCH] ready for M9 release --- README.md | 5 +++-- aiogremlin/__init__.py | 2 +- aiogremlin/client.py | 21 +++++++-------------- aiogremlin/subprotocol.py | 15 +++++---------- setup.py | 4 ++-- 5 files changed, 18 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 868847c..3681545 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -# aiogremlin 0.0.8 [(gizmo grew up)](https://pypi.python.org/pypi/gizmo/0.1.12) +# aiogremlin 0.0.9 [(gizmo grew up)](https://pypi.python.org/pypi/gizmo/0.1.12) + +`aiogremlin` is a **Python 3** driver for the the [Tinkerpop 3 Gremlin Server](http://tinkerpop.incubator.apache.org/docs/3.0.0.M9-incubating/#gremlin-server). This module is built on [Asyncio](https://docs.python.org/3/library/asyncio.html) and [aiohttp](http://aiohttp.readthedocs.org/en/v0.15.3/index.html) `aiogremlin` is currently in **alpha** mode, but all major functionality has test coverage. -`aiogremlin` is a **Python 3** driver for the the [Tinkerpop 3 Gremlin Server](http://www.tinkerpop.com/docs/3.0.0.M7/#gremlin-server). This module is built on [Asyncio](https://docs.python.org/3/library/asyncio.html) and [aiohttp](http://aiohttp.readthedocs.org/en/v0.15.3/index.html) `aiogremlin` is currently in **alpha** mode, but all major functionality has test coverage. ## Getting started diff --git a/aiogremlin/__init__.py b/aiogremlin/__init__.py index 3ad55f5..c51a972 100644 --- a/aiogremlin/__init__.py +++ b/aiogremlin/__init__.py @@ -4,4 +4,4 @@ from .exceptions import * from .pool import * from .subprotocol import * -__version__ = "0.0.8" +__version__ = "0.0.9" diff --git a/aiogremlin/client.py b/aiogremlin/client.py index e35ec16..d460005 100644 --- a/aiogremlin/client.py +++ b/aiogremlin/client.py @@ -198,22 +198,15 @@ class GremlinResponseStream: @asyncio.coroutine def read(self): - # For 3.0.0.M9 - # if self._stream.at_eof(): - # self._pool.release(self._conn) - # message = None - # else: - # asyncio.async(self._conn.receive()) - # This will be different 3.0.0.M9 - try: - yield from self._conn.receive() - except RequestError: - if self._pool: - self._pool.release(self._conn) - if self._stream.is_eof(): + if self._stream.at_eof(): if self._pool: self._pool.release(self._conn) message = None else: - message = yield from self._stream.read() + asyncio.async(self._conn.receive(), loop=self._loop) + try: + message = yield from self._stream.read() + except RequestError: + if self._pool: + self._pool.release(self._conn) return message diff --git a/aiogremlin/subprotocol.py b/aiogremlin/subprotocol.py index 1f7d1f0..559f6de 100644 --- a/aiogremlin/subprotocol.py +++ b/aiogremlin/subprotocol.py @@ -30,17 +30,12 @@ def gremlin_response_parser(out, buf): message["status"]["message"]) if message.status_code == 200: out.feed_data(message) - # For 3.0.0.M9 - # out.feed_eof() - # This will be terminated in 3.0.0.M9 - elif message.status_code == 299: out.feed_eof() - # For 3.0.0.M9 - # elif message.status_code == 206: - # out.feed_data(message) - # elif message.status_code == 204: - # out.feed_data(message) - # out.feed_eof() + elif message.status_code == 206: + out.feed_data(message) + elif message.status_code == 204: + out.feed_data(message) + out.feed_eof() else: if message.status_code < 500: raise RequestError(message.status_code, message.message) diff --git a/setup.py b/setup.py index 2f60987..2363354 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup setup( name="aiogremlin", - version="0.0.8", + version="0.0.9", url="", license="MIT", author="davebshow", @@ -12,7 +12,7 @@ setup( long_description=open("README.txt").read(), packages=["aiogremlin", "tests"], install_requires=[ - "aiohttp==0.16.0" + "aiohttp==0.16.3" ], test_suite="tests", classifiers=[ -- GitLab