Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.31 KB | None | 0 0
  1.     private static final PythonInterpreter interpreter = new PythonInterpreter(null, new PySystemState());
  2.     private static Pattern resourceUrlRE = Pattern.compile("file:(?<main>(\\/[A-Za-z0-9_\\- \\.()]+)+\\.jar)!(?<inner>(\\/[A-Za-z0-9_\\- \\.()]+)+)");
  3.  
  4.     static {
  5.         PySystemState sys = Py.getSystemState();
  6.  
  7.         URL[] pythonPaths  = new URL[] {
  8.             myLib.class.getResource("/jython"),
  9.             myLib.class.getResource("/jython/site-packages")
  10.         };
  11.  
  12.         for (URL p: pythonPaths) {
  13.             String rsPath = p.getFile();
  14.             Matcher jarMatcher = resourceUrlRE.matcher(rsPath);
  15.  
  16.             if (jarMatcher.matches()) {
  17.                 String pypath = jarMatcher.group("main") + jarMatcher.group("inner");
  18.                 System.out.println(pypath);
  19.                 addPaths(sys.path, pypath);
  20.             }
  21.             else {
  22.                 System.out.println(rsPath);
  23.                 addPaths(sys.path, rsPath);
  24.             }
  25.         }
  26.     }
  27.    
  28.     private static void addPaths(PyList path, String pypath) {        
  29.         StringTokenizer tok = new StringTokenizer(pypath,
  30.                                                   java.io.File.pathSeparator);
  31.         while  (tok.hasMoreTokens())
  32.             path.append(new PyString(tok.nextToken().trim()));
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement