/** * Convenience method for constructing a type object of a Python exception, named as given, and * added to the namespace of the "_io" module. * * @param dict module dictionary * @param excname name of the exception * @param bases one or more bases (superclasses) * @return the constructed exception type */ private static PyType makeException(PyObject dict, String excname, PyObject... bases) { PyStringMap classDict = new PyStringMap(); classDict.__setitem__("__module__", Py.newString("_io")); PyType type = (PyType) Py.makeClass(excname, bases, classDict); dict.__setitem__(excname, type); return type; }
public PyScriptEngine() { if (!initialized) { initializer(); initialized = true; } // Set __name__ == "__main__" (useful for python scripting) // Without this, it is "__builtin__" PyStringMap dict = new PyStringMap(); dict.__setitem__("__name__", new PyString("__main__")); // start with a fresh PySystemState PySystemState sys = new PySystemState(); py = new PythonInterpreter(dict, sys); }