File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed
Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -163,13 +163,33 @@ static int rapidxml_BaseObject_setvalue(rapidxml_BaseObject* self,
163163 return 0 ;
164164}
165165
166+ static PyObject* rapidxml_BaseObject_getparent (rapidxml_BaseObject* self,
167+ void * closure) {
168+ rapidxml::xml_node<>* parent;
169+
170+ if (self->underlying_obj == NULL || self->document == NULL ) {
171+ PyErr_SetString (rapidxml_RapidXmlError,
172+ " underlying mechanism failed" );
173+ return NULL ;
174+ }
175+ parent = self->underlying_obj ->parent ();
176+ if (parent == NULL ) {
177+ Py_INCREF (Py_None);
178+ return Py_None;
179+ }
180+ return _bind_result (self, parent, &rapidxml_NodeType);
181+ }
182+
166183static PyGetSetDef rapidxml_BaseObject_getseters[] = {
167184 {" name" ,
168185 (getter)rapidxml_BaseObject_getname, (setter)rapidxml_BaseObject_setname,
169186 " name of xml entity" },
170187 {" value" ,
171188 (getter)rapidxml_BaseObject_getvalue, (setter)rapidxml_BaseObject_setvalue,
172189 " value of xml entity" },
190+ {" parent" ,
191+ (getter)rapidxml_BaseObject_getparent, NULL ,
192+ " gets node parent" },
173193 {NULL }
174194};
175195
You can’t perform that action at this time.
0 commit comments