|
PLearn 0.1
|
#include <PythonObjectWrapper.h>
Static Public Member Functions | |
| static PyObject * | newPyObject (const RealRange &) |
Definition at line 717 of file PythonObjectWrapper.h.
| PyObject * PLearn::ConvertToPyObject< RealRange >::newPyObject | ( | const RealRange & | rr | ) | [static] |
Definition at line 916 of file PythonObjectWrapper.cc.
References PLearn::PythonObjectWrapper::as(), PLearn::RealRange::high, PLearn::RealRange::leftbracket, PLearn::RealRange::low, PLERROR, PLearn::RealRange::rightbracket, and PLearn::tostring().
{
string pycode= "\nfrom plearn.pybridge.wrapped_plearn_object import RealRange\n";
pycode+= string("\nresult= RealRange(leftbracket='") + rr.leftbracket + "', "
+ "low= " + tostring(rr.low) + ", high= " + tostring(rr.high) + ", "
+ "rightbracket= '" + rr.rightbracket + "')\n";
PyObject* env= PyDict_New();
if(0 != PyDict_SetItemString(env, "__builtins__", PyEval_GetBuiltins()))
PLERROR("in ConvertToPyObject<RealRange>::newPyObject : "
"cannot insert builtins in env.");
PyObject* res= PyRun_String(pycode.c_str(), Py_file_input, env, env);
if(!res)
{
Py_DECREF(env);
if(PyErr_Occurred()) PyErr_Print();
PLERROR("in ConvertToPyObject<RealRange>::newPyObject : "
"cannot convert to a RealRange.");
}
Py_DECREF(res);
PyObject* py_rr= PythonObjectWrapper(env).as<std::map<string, PyObject*> >()["result"];
Py_INCREF(py_rr);
Py_DECREF(env);
return py_rr;
}

1.7.4