summaryrefslogtreecommitdiff
path: root/src/lxml/objectify.pyx
diff options
context:
space:
mode:
authorscoder <none@none>2007-08-28 09:05:32 +0200
committerscoder <none@none>2007-08-28 09:05:32 +0200
commit09296647b5a2b1c5914dc49e996eafc7ee768edd (patch)
treebb2ede61407b70360b39c5d044cbcfd6e28aad7e /src/lxml/objectify.pyx
parentac36ad2db34e3a9841012cce2288309af4039e37 (diff)
downloadpython-lxml-09296647b5a2b1c5914dc49e996eafc7ee768edd.tar.gz
[svn r2771] only store pytype attributes for registered types
--HG-- branch : trunk
Diffstat (limited to 'src/lxml/objectify.pyx')
-rw-r--r--src/lxml/objectify.pyx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lxml/objectify.pyx b/src/lxml/objectify.pyx
index 2e5fba55..c2e73a50 100644
--- a/src/lxml/objectify.pyx
+++ b/src/lxml/objectify.pyx
@@ -499,6 +499,7 @@ cdef object _appendValue(_Element parent, tag, value):
_setElementValue(new_element, value)
cdef _setElementValue(_Element element, value):
+ cdef python.PyObject* dict_result
if value is None:
cetree.setAttributeValue(
element, XML_SCHEMA_INSTANCE_NIL_ATTR, "true")
@@ -515,7 +516,9 @@ cdef _setElementValue(_Element element, value):
value = _lower_bool(value)
else:
value = str(value)
- cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, pytype_name)
+ dict_result = python.PyDict_GetItem(_PYTYPE_DICT, pytype_name)
+ if dict_result is not NULL:
+ cetree.setAttributeValue(element, PYTYPE_ATTRIBUTE, pytype_name)
cetree.setNodeText(element._c_node, value)
################################################################################