Path: Use PyObject_IsTrue in combination with conditional ternary operator

This commit is contained in:
marioalexis
2022-05-17 12:52:35 -03:00
committed by Chris Hennes
parent 51f3727d3c
commit d298a7101c
2 changed files with 12 additions and 11 deletions

View File

@@ -322,8 +322,8 @@ private:
static char* kwd_list[] = {"shapes", "start", "return_end",
PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_PATH), nullptr};
if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(),
"O|O!O" PARAM_PY_KWDS(AREA_PARAMS_PATH),
kwd_list, &pShapes, &(Base::VectorPy::Type), &start, &return_end,
"O|O!O!" PARAM_PY_KWDS(AREA_PARAMS_PATH),
kwd_list, &pShapes, &(Base::VectorPy::Type), &start, &PyBool_Type, &return_end,
PARAM_REF(PARAM_FARG,AREA_PARAMS_PATH)))
throw Py::Exception();
@@ -355,7 +355,7 @@ private:
std::unique_ptr<Toolpath> path(new Toolpath);
Area::toPath(*path,shapes,start?&pstart:nullptr, &pend,
PARAM_PY_FIELDS(PARAM_FARG,AREA_PARAMS_PATH));
if(!PyObject_IsTrue(return_end))
if (PyObject_IsTrue(return_end) ? false : true)
return Py::asObject(new PathPy(path.release()));
Py::Tuple tuple(2);
tuple.setItem(0, Py::asObject(new PathPy(path.release())));

View File

@@ -36,11 +36,12 @@
static PyObject * areaAbort(PyObject *, PyObject *args, PyObject *kwd) {
static char *kwlist[] = {"aborting", nullptr};
PyObject *pObj = Py_True;
if (!PyArg_ParseTupleAndKeywords(args,kwd,"|O",kwlist,&pObj))
if (!PyArg_ParseTupleAndKeywords(args,kwd,"|O!",kwlist,&PyBool_Type,&pObj))
return nullptr;
Area::abort(PyObject_IsTrue(pObj));
Py_INCREF(Py_None);
return Py_None;
Area::abort(PyObject_IsTrue(pObj) ? true : false);
Py_Return;
}
static PyObject * areaSetParams(PyObject *, PyObject *args, PyObject *kwd) {
@@ -93,10 +94,10 @@ static PyObject* areaGetParams(PyObject *, PyObject *args) {
static PyObject * areaGetParamsDesc(PyObject *, PyObject *args, PyObject *kwd) {
PyObject *pcObj = Py_False;
static char *kwlist[] = {"as_string", nullptr};
if (!PyArg_ParseTupleAndKeywords(args, kwd, "|O",kwlist,&pcObj))
if (!PyArg_ParseTupleAndKeywords(args, kwd, "|O!",kwlist,&PyBool_Type,&pcObj))
return nullptr;
if(PyObject_IsTrue(pcObj))
if (PyObject_IsTrue(pcObj) ? true : false)
return PyUnicode_FromString(PARAM_PY_DOC(NAME,AREA_PARAMS_STATIC_CONF));
PyObject *dict = PyDict_New();
@@ -237,11 +238,11 @@ PyObject* AreaPy::getShape(PyObject *args, PyObject *keywds)
PyObject *pcObj = Py_False;
short index=-1;
static char *kwlist[] = {"index","rebuild", nullptr};
if (!PyArg_ParseTupleAndKeywords(args, keywds,"|hO",kwlist,&index,&pcObj))
if (!PyArg_ParseTupleAndKeywords(args, keywds,"|hO!",kwlist,&index,&PyBool_Type,&pcObj))
return nullptr;
PY_TRY {
if(PyObject_IsTrue(pcObj))
if (PyObject_IsTrue(pcObj) ? true : false)
getAreaPtr()->clean();
return Py::new_reference_to(Part::shape2pyshape(getAreaPtr()->getShape(index)));
} PY_CATCH_OCC