@Override
public Map<String, Parameter<?>> getOutputs(ScriptEngine engine) throws ScriptException {
PyDictionary outputs = (PyDictionary) process(engine).__getattr__("outputs");
Map<String, Parameter<?>> map = new TreeMap<String, Parameter<?>>();
for (String name : (List<String>) outputs.keys()) {
PyTuple output = (PyTuple) outputs.get(name);
Object type = output.__getitem__(0);
Object desc = output.__getitem__(1);
Map<String, Object> metadata = null;
if (output.size() == 3) {
PyDictionary meta = (PyDictionary) output.get(2);
if (meta != null && !meta.isEmpty()) {
metadata = new HashMap<String, Object>();
for (Object key : meta.keySet()) {
metadata.put((String) key, meta.get(key));
}
}
}
map.put(name, parameter(name, type, 1, 1, desc, null, metadata));
}
return map;
}