1 package com.neuronrobotics.bowlerstudio.scripting;
4 import java.io.IOException;
5 import java.nio.file.Files;
6 import java.util.ArrayList;
7 import java.util.Arrays;
8 import java.util.Properties;
10 import javafx.scene.control.Tab;
12 import org.python.core.PyObject;
13 import org.python.util.PythonInterpreter;
15 import com.neuronrobotics.sdk.common.BowlerAbstractDevice;
16 import com.neuronrobotics.sdk.common.DeviceManager;
17 import com.neuronrobotics.sdk.common.Log;
19 import eu.mihosoft.vrl.v3d.CSG;
23 PythonInterpreter interp;
28 Properties props =
new Properties();
29 PythonInterpreter.initialize(System.getProperties(), props,
32 interp =
new PythonInterpreter();
34 interp.exec(
"import sys");
51 interp.set(
"args", args);
53 ArrayList<Object> results =
new ArrayList<>();
55 PyObject localVariables = interp.getLocals();
58 results.add(interp.get(
"csg",
CSG.class));
59 }
catch (Exception e) {
63 results.add(interp.get(
"tab", Tab.class));
64 }
catch (Exception e) {
69 }
catch (Exception e) {
73 Log.
debug(
"Jython return = " + results);
81 bytes = Files.readAllBytes(code.toPath());
82 String s =
new String(bytes,
"UTF-8");
84 }
catch (IOException e1) {
102 return "print( 'Hello World')";
113 return new ArrayList<>(Arrays.asList(
"py",
"jy"));
String getDefaultContents()
Object inlineScriptRun(String code, ArrayList< Object > args)
Object inlineScriptRun(File code, ArrayList< Object > args)
ArrayList< String > getFileExtenetion()
static void debug(String message)