-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
PyStdOut_write(PyStdOut *self, PyObject *args)
{
char *c;
- int l;
- if (!PyArg_ParseTuple(args, "t#:write",&c, &l))
+ if (!PyArg_ParseTuple(args, "s",&c))
return NULL;
*(self->out)=*(self->out)+c;
static PyMethodDef PyStdOut_methods[] = {
{"write", (PyCFunction)PyStdOut_write, METH_VARARGS,
PyDoc_STR("write(string) -> None")},
- {NULL, NULL} /* sentinel */
+ {0, 0, 0, 0} /* sentinel */
};
static PyMemberDef PyStdOut_memberlist[] = {
{(char*)"softspace", T_INT, offsetof(PyStdOut, softspace), 0,
(char*)"flag indicating that a space needs to be printed; used by print"},
- {NULL} /* Sentinel */
+ {0, 0, 0, 0, 0} /* sentinel */
};
static PyTypeObject PyStdOut_Type = {
/* The ob_type field must be initialized in the module init function
* to be portable to Windows without using C++. */
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
+ /* 0, */ /*ob_size*/
"PyOut", /*tp_name*/
sizeof(PyStdOut), /*tp_basicsize*/
0, /*tp_itemsize*/
0, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
+ 0, /*tp_bases*/
+ 0, /*tp_mro*/
+ 0, /*tp_cache*/
+ 0, /*tp_subclasses*/
+ 0, /*tp_weaklist*/
+ 0, /*tp_del*/
+ 0, /*tp_version_tag*/
+ 0, /*tp_finalize*/
};
PyObject * newPyStdOut( std::string& out )
aPyScript = aPyScript.arg(theExpr);
int result = -1;
PyGILState_STATE gstate = PyGILState_Ensure();
- PyObject* obj = PyRun_String(qPrintable(aPyScript), Py_file_input, myMainDict, NULL);
+ PyObject* obj = PyRun_String(qUtf8Printable(aPyScript), Py_file_input, myMainDict, NULL);
if(obj == NULL) {
PyErr_Print();
- PyGILState_Release(gstate);
+ PyGILState_Release(gstate);
return result;
} else {
PyGILState_Release(gstate);
return result;
}
-
+
PyObject* coords = PyObject_CallFunction(func,(char*)"(d, d, i)", theMin, theMax, theNbStep );
-
+
if (coords == NULL){
fflush(stderr);
std::string err_description="";
*/
void Plot2d_AnalyticalParser::initScript() {
myScript.clear();
- myScript += "from math import * \n";
- myScript += "def Y(x): \n";
- myScript += " return ";
- myScript += "%1\n";
+ myScript += "from math import *\n";
+ myScript += "def Y(x):\n";
+ myScript += "\treturn %1\n";
- myScript += "def coordCalculator(xmin, xmax, nstep): \n";
- myScript += " coords = [] \n";
- myScript += " xstep = (xmax - xmin) / nstep \n";
- myScript += " n = 0 \n";
- myScript += " while n <= nstep : \n";
- myScript += " x = xmin + n*xstep \n";
- myScript += " try: \n";
- myScript += " y = Y(x) \n";
- myScript += " coords.append([x,y]) \n";
- myScript += " except ValueError, ZeroDivisionError: \n";
- myScript += " pass \n";
- myScript += " n = n+1 \n";
- myScript += " return coords \n";
+ myScript += "def coordCalculator(xmin, xmax, nstep):\n";
+ myScript += "\tcoords = []\n";
+ myScript += "\txstep = (xmax - xmin) / nstep\n";
+ myScript += "\tn = 0\n";
+ myScript += "\twhile n <= nstep :\n";
+ myScript += "\t\tx = xmin + n*xstep\n";
+ myScript += "\t\ttry:\n";
+ myScript += "\t\t\ty = Y(x)\n";
+ myScript += "\t\t\tcoords.append([x,y])\n";
+ myScript += "\t\texcept (ValueError, ZeroDivisionError):\n";
+ myScript += "\t\t\tpass\n";
+ myScript += "\t\tn = n+1\n";
+ myScript += "\treturn coords\n";
}