# HG changeset patch # User Atul Varma # Date 1252427926 25200 # Node ID 7f12db1042466899f3311072cec798c6db91da2b # Parent b7037cd0f375a4fe556306af183007fcb5d86dde Added evaluate, new_array, and new_object functions to JsSandbox class. diff -r b7037cd0f375 -r 7f12db104246 pydershell/pydershell.py --- a/pydershell/pydershell.py Mon Sep 07 22:17:57 2009 -0700 +++ b/pydershell/pydershell.py Tue Sep 08 09:38:46 2009 -0700 @@ -427,6 +427,22 @@ # It's a primitive value. return jsvalue + def new_array(self, *contents): + array = self.wrap_jsobject(self.cx.new_array_object()) + for item in contents: + array.push(self.wrap_pyobject(item)) + return array + + def new_object(self, **contents): + obj = self.wrap_jsobject(self.cx.new_object()) + for name in contents: + obj[name] = self.wrap_pyobject(contents[name]) + + def evaluate(self, code, filename='', lineno=1): + retval = self.cx.evaluate_script(self.root.wrapped_jsobject, + code, filename, lineno) + return self.wrap_jsobject(retval) + def run_script(self, filename): """ Runs the given JS script, returning 0 on success, -1 on failure.