cpython: fef7f041c1a7 (original) (raw)

--- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py @@ -182,10 +182,12 @@ class ElementTreeTest(unittest.TestCase) def check_element(element): self.assertTrue(ET.iselement(element), msg="not an element")

check_string(element.tag) check_mapping(element.attrib)

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -95,6 +95,9 @@ Core and Builtins Library ------- +- Issue #7990: dir() on ElementTree.Element now lists properties: "tag",

--- a/Modules/_elementtree.c +++ b/Modules/elementtree.c @@ -1870,94 +1870,92 @@ element_ass_subscr(PyObject* self, PyOb } static PyObject* -element_getattro(ElementObject* self, PyObject* nameobj) +element_tag_getter(ElementObject *self, void *closure) {

-

-

-

-

-

-

-

-static int -element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value) +static PyObject* +element_text_getter(ElementObject *self, void *closure) +{

+} + +static PyObject* +element_tail_getter(ElementObject *self, void *closure) {

-

+} + +static PyObject* +element_attrib_getter(ElementObject *self, void *closure) +{

+} + +/* macro for setter validation */ +#define _VALIDATE_ATTR_VALUE(V) [](#l3.94)

-

+ +static int +element_tag_setter(ElementObject *self, PyObject *value, void *closure) +{

+} + +static int +element_text_setter(ElementObject *self, PyObject *value, void *closure) +{

+} + +static int +element_tail_setter(ElementObject *self, PyObject *value, void *closure) +{

+} + +static int +element_attrib_setter(ElementObject *self, PyObject *value, void *closure) +{

@@ -3770,6 +3768,26 @@ static PyMappingMethods element_as_mappi (objobjargproc) element_ass_subscr, }; +static PyGetSetDef element_getsetlist[] = {

+}; + static PyTypeObject Element_Type = { PyVarObject_HEAD_INIT(NULL, 0) "xml.etree.ElementTree.Element", sizeof(ElementObject), 0, @@ -3786,8 +3804,8 @@ static PyTypeObject Element_Type = { 0, /* tp_hash / 0, / tp_call / 0, / tp_str */

@@ -3800,7 +3818,7 @@ static PyTypeObject Element_Type = { 0, /* tp_iternext / element_methods, / tp_methods / 0, / tp_members */