Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static final PythonInterpreter interpreter = new PythonInterpreter(null, new PySystemState());
- private static Pattern resourceUrlRE = Pattern.compile("file:(?<main>(\\/[A-Za-z0-9_\\- \\.()]+)+\\.jar)!(?<inner>(\\/[A-Za-z0-9_\\- \\.()]+)+)");
- static {
- PySystemState sys = Py.getSystemState();
- URL[] pythonPaths = new URL[] {
- myLib.class.getResource("/jython"),
- myLib.class.getResource("/jython/site-packages")
- };
- for (URL p: pythonPaths) {
- String rsPath = p.getFile();
- Matcher jarMatcher = resourceUrlRE.matcher(rsPath);
- if (jarMatcher.matches()) {
- String pypath = jarMatcher.group("main") + jarMatcher.group("inner");
- System.out.println(pypath);
- addPaths(sys.path, pypath);
- }
- else {
- System.out.println(rsPath);
- addPaths(sys.path, rsPath);
- }
- }
- }
- private static void addPaths(PyList path, String pypath) {
- StringTokenizer tok = new StringTokenizer(pypath,
- java.io.File.pathSeparator);
- while (tok.hasMoreTokens())
- path.append(new PyString(tok.nextToken().trim()));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement