Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1278 d4dde2632 -> f9e4a820a
bindings can happen at spawns and sources in gremlin-python. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f9e4a820 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f9e4a820 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f9e4a820 Branch: refs/heads/TINKERPOP-1278 Commit: f9e4a820a1281c2300820f8f1713869cb7920fd5 Parents: d4dde26 Author: Marko A. Rodriguez <okramma...@gmail.com> Authored: Fri Jun 17 15:46:42 2016 -0600 Committer: Marko A. Rodriguez <okramma...@gmail.com> Committed: Fri Jun 17 15:46:42 2016 -0600 ---------------------------------------------------------------------- .../jython/gremlin_python/gremlin_python.py | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f9e4a820/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py ---------------------------------------------------------------------- diff --git a/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py index dbe0e2a..9b6427f 100644 --- a/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py +++ b/gremlin-variant/src/main/jython/gremlin_python/gremlin_python.py @@ -35,50 +35,110 @@ class PythonGraphTraversalSource(object): def E(self, *args): traversal = PythonGraphTraversal(self.translator, self.remote_connection) traversal.translator.addSpawnStep(traversal, "E", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return traversal def V(self, *args): traversal = PythonGraphTraversal(self.translator, self.remote_connection) traversal.translator.addSpawnStep(traversal, "V", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return traversal def addV(self, *args): traversal = PythonGraphTraversal(self.translator, self.remote_connection) traversal.translator.addSpawnStep(traversal, "addV", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return traversal def inject(self, *args): traversal = PythonGraphTraversal(self.translator, self.remote_connection) traversal.translator.addSpawnStep(traversal, "inject", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return traversal def withBulk(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withBulk", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withComputer(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withComputer", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withPath(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withPath", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withSack(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withSack", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withSideEffect(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withSideEffect", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withStrategies(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withStrategies", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withTranslator(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withTranslator", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source def withoutStrategies(self, *args): source = PythonGraphTraversalSource(self.translator, self.remote_connection) source.translator.addSource(source, "withoutStrategies", *args) + for arg in args: + if isinstance(arg, tuple) and 2 == len(arg) and isinstance(arg[0], str): + self.bindings[arg[0]] = arg[1] + elif isinstance(arg, RawExpression): + self.bindings.update(arg.bindings) return source