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; }