[Lxml-checkins] r45920 - lxml/trunk/src/lxml
scoder at codespeak.net
scoder at codespeak.net
Wed Aug 22 22:25:50 CEST 2007
Author: scoder
Date: Wed Aug 22 22:25:50 2007
New Revision: 45920
Modified:
lxml/trunk/src/lxml/objectify.pyx
Log:
removed old ElementMaker implementation
Modified: lxml/trunk/src/lxml/objectify.pyx
==============================================================================
--- lxml/trunk/src/lxml/objectify.pyx (original)
+++ lxml/trunk/src/lxml/objectify.pyx Wed Aug 22 22:25:50 2007
@@ -1102,82 +1102,6 @@
return element
-class ElementMaker(_ElementMaker):
- def __init__(self, typemap=None):
- typemap = _ObjectifyTypemap(typemap)
- _ElementMaker.__init__(self, typemap, objectify_parser.makeelement)
-
-cdef class _ObjectifyTypemap:
- """Type map for the ElementMaker.
- """
- cdef object _typemap
-
- def __init__(self, initial=None):
- if initial is None:
- self._typemap = {}
- else:
- self._typemap = dict(initial)
-
- self._typemap[__builtin__.str] = __add_text
- self._typemap[__builtin__.str.__name__] = __add_text
-
- self._typemap[__builtin__.unicode] = __add_text
- self._typemap[__builtin__.unicode.__name__] = __add_text
-
- self._typemap[__builtin__.int] = __add_stringifiable
- self._typemap[__builtin__.int.__name__] = __add_stringifiable
-
- self._typemap[__builtin__.long] = __add_stringifiable
- self._typemap[__builtin__.long.__name__] = __add_stringifiable
-
- self._typemap[__builtin__.float] = __add_stringifiable
- self._typemap[__builtin__.float.__name__] = __add_stringifiable
-
- self._typemap[__builtin__.bool] = __add_bool
- self._typemap[__builtin__.bool.__name__] = __add_bool
-
- NoneType = type(None)
- self._typemap[NoneType] = __add_none
- self._typemap[NoneType.__name__] = __add_none
-
- def copy(self):
- return self
-
- def get(self, type):
- cdef python.PyObject* result
- result = python.PyDict_GetItem(self._typemap, type)
- if result is NULL:
- name = type.__name__
- result = python.PyDict_GetItem(self._typemap, name)
- if result is NULL:
- result = python.PyDict_GetItem(_PYTYPE_DICT, name)
- if result is NULL:
- return None
- return (<PyType>result)._add_text
- return <object>result
-
- def __contains__(self, type):
- return type in self._typemap or type.__name__ in self._typemap
-
- def __getitem__(self, key):
- return self._typemap[key]
-
- def __setitem__(self, key, value):
- self._typemap[key] = value
- self._typemap[key.__name__] = value
-
-def __add_stringifiable(_Element elem not None, number):
- _add_text(elem, str(number))
-
-def __add_bool(_Element elem not None, bool_val):
- _add_text(elem, _lower_bool(bool_val))
-
-def __add_text(_Element elem not None, text):
- _add_text(elem, text)
-
-def __add_none(_Element elem not None, none_val):
- pass
-
cdef _add_text(_Element elem, text):
cdef tree.xmlNode* c_child
c_child = cetree.findChildBackwards(elem._c_node, 0)
More information about the lxml-checkins
mailing list