allow client users to pass bindings as a second arg

Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b711b5e6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b711b5e6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b711b5e6

Branch: refs/heads/TINKERPOP-1599
Commit: b711b5e667c53328aed1c5fe9baad51fde5dc0b1
Parents: e3067e9
Author: davebshow <davebs...@gmail.com>
Authored: Wed Feb 15 17:57:32 2017 -0500
Committer: davebshow <davebs...@gmail.com>
Committed: Fri Feb 17 11:36:57 2017 -0500

----------------------------------------------------------------------
 .../src/main/jython/gremlin_python/driver/client.py          | 8 +++++---
 gremlin-python/src/main/jython/tests/driver/test_client.py   | 4 ++++
 2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b711b5e6/gremlin-python/src/main/jython/gremlin_python/driver/client.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/gremlin_python/driver/client.py 
b/gremlin-python/src/main/jython/gremlin_python/driver/client.py
index 0314a44..c7c7037 100644
--- a/gremlin-python/src/main/jython/gremlin_python/driver/client.py
+++ b/gremlin-python/src/main/jython/gremlin_python/driver/client.py
@@ -103,10 +103,10 @@ class Client:
             self._url, self._traversal_source, protocol,
             self._transport_factory, self._executor, self._pool)
 
-    def submit(self, message):
-        return self.submitAsync(message).result()
+    def submit(self, message, bindings=None):
+        return self.submitAsync(message, bindings=bindings).result()
 
-    def submitAsync(self, message):
+    def submitAsync(self, message, bindings=None):
         if isinstance(message, traversal.Bytecode):
             message = request.RequestMessage(
                 processor='traversal', op='bytecode',
@@ -117,5 +117,7 @@ class Client:
                 processor='', op='eval',
                 args={'gremlin': message,
                       'aliases': {'g': self._traversal_source}})
+            if bindings:
+                message.args.update(bindings)
         conn = self._pool.get(True)
         return conn.write(message)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b711b5e6/gremlin-python/src/main/jython/tests/driver/test_client.py
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/jython/tests/driver/test_client.py 
b/gremlin-python/src/main/jython/tests/driver/test_client.py
index 02582a1..416caab 100644
--- a/gremlin-python/src/main/jython/tests/driver/test_client.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_client.py
@@ -40,6 +40,10 @@ def test_client_simple_eval(client):
     assert client.submit('1 + 1').all().result()[0] == 2
 
 
+def test_client_simple_eval_bindings(client):
+    assert client.submit('x + x', {'x': 2}).all().result()[0] == 4
+
+
 def test_client_eval_traversal(client):
     assert len(client.submit('g.V()').all().result()) == 6
 

Reply via email to