| 296 | } |
| 297 | |
| 298 | PyObject* GroupExtensionPy::hasObject(PyObject* args) |
| 299 | { |
| 300 | PyObject* object; |
| 301 | PyObject* recursivePy = Py_False; |
| 302 | if (!PyArg_ParseTuple(args, |
| 303 | "O!|O!", |
| 304 | &(DocumentObjectPy::Type), |
| 305 | &object, |
| 306 | &PyBool_Type, |
| 307 | &recursivePy)) { |
| 308 | return nullptr; |
| 309 | } |
| 310 | |
| 311 | DocumentObjectPy* docObj = static_cast<DocumentObjectPy*>(object); |
| 312 | bool recursive = Base::asBoolean(recursivePy); |
| 313 | if (!docObj->getDocumentObjectPtr() |
| 314 | || !docObj->getDocumentObjectPtr()->isAttachedToDocument()) { |
| 315 | PyErr_SetString(Base::PyExc_FC_GeneralError, "Cannot check an invalid object"); |
| 316 | return nullptr; |
| 317 | } |
| 318 | if (docObj->getDocumentObjectPtr()->getDocument() |
| 319 | != getGroupExtensionPtr()->getExtendedObject()->getDocument()) { |
| 320 | PyErr_SetString(Base::PyExc_FC_GeneralError, |
| 321 | "Cannot check an object from another document with this group"); |
| 322 | return nullptr; |
| 323 | } |
| 324 | |
| 325 | bool v = getGroupExtensionPtr()->hasObject(docObj->getDocumentObjectPtr(), recursive); |
| 326 | return PyBool_FromLong(v ? 1 : 0); |
| 327 | } |
| 328 | |
| 329 | PyObject* GroupExtensionPy::getCustomAttributes(const char* /*attr*/) const |
| 330 | { |
no test coverage detected