Rev 4: Some more basic exploration of using python from java. in http://bzr.arbash-meinel.com/branches/bzr/bzrlib_java_test
John Arbash Meinel
john at arbash-meinel.com
Fri Mar 30 18:21:15 BST 2007
At http://bzr.arbash-meinel.com/branches/bzr/bzrlib_java_test
------------------------------------------------------------
revno: 4
revision-id: john at arbash-meinel.com-20070330172114-5xuo3laqvxm4paqh
parent: john at arbash-meinel.com-20070330170126-pm6jbxvamdqp8tf5
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: bzrlib_java_test
timestamp: Fri 2007-03-30 12:21:14 -0500
message:
Some more basic exploration of using python from java.
modified:
ImportBzrlibTest.java importbzrlibtest.jav-20070330163449-4vo592rbe92sp2ql-1
print_tester.py print_tester.py-20070330170106-i5zfzn47ohmyae79-2
-------------- next part --------------
=== modified file 'ImportBzrlibTest.java'
--- a/ImportBzrlibTest.java 2007-03-30 17:01:26 +0000
+++ b/ImportBzrlibTest.java 2007-03-30 17:21:14 +0000
@@ -47,6 +47,20 @@
jep.runScript("print_tester.py");
jep.invoke("just_print", "test_str");
jep.invoke("write_to_stdout", "test_str");
+ jep.invoke("import_jep_and_print");
+
+ jep.invoke("dir_of_object", jep);
+
+ Object ret1 = jep.invoke("return_py_object");
+ System.out.println("ret1: " + ret1);
+ Object ret2 = jep.invoke("return_py_object", "str");
+ System.out.println("ret2: " + ret2);
+
+ jep.eval("def customFunction(param):\n" +
+ " '''this is my function'''\n" +
+ " return param + 1\n");
+ System.out.println("custom func: "
+ + jep.invoke("customFunction", 2));
} finally {
if (jep != null)
jep.close();
=== modified file 'print_tester.py'
--- a/print_tester.py 2007-03-30 17:01:26 +0000
+++ b/print_tester.py 2007-03-30 17:21:14 +0000
@@ -16,6 +16,7 @@
"""Some simple tests for file io"""
+import pprint
import sys
@@ -27,3 +28,27 @@
def write_to_stdout(obj):
"""Use sys.stdout.write for different effect."""
sys.stdout.write('Writing to sys.stdout: %s\n' % (obj,))
+
+
+def import_jep_and_print():
+ """Import the 'jep' module and print info about it."""
+ import jep
+ print 'dir(jep):'
+ pprint.pprint(dir(jep))
+
+def dir_of_object(obj):
+ """Print out the dir() of an object."""
+ print 'dir(obj) [%s]:' % (obj,)
+ pprint.pprint(dir(obj))
+
+
+class BasicClass(object):
+ """Just a very simple class to pass to Java"""
+
+ def __init__(self, value=None):
+ self.value = value
+
+
+def return_py_object(value=None):
+ """Return a python object back to Java."""
+ return BasicClass(value)
More information about the bazaar-commits
mailing list