diff options
Diffstat (limited to 'src/lxml/classlookup.pxi')
| -rw-r--r-- | src/lxml/classlookup.pxi | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/src/lxml/classlookup.pxi b/src/lxml/classlookup.pxi index d2c50914..bd4cba0a 100644 --- a/src/lxml/classlookup.pxi +++ b/src/lxml/classlookup.pxi @@ -53,7 +53,9 @@ ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlN # class to store element class lookup functions cdef public class ElementClassLookup [ type LxmlElementClassLookupType, object LxmlElementClassLookup ]: - """Superclass of Element class lookups. + """ElementClassLookup(self) + + Superclass of Element class lookups. """ cdef _element_class_lookup_function _lookup_function def __init__(self): @@ -62,18 +64,20 @@ cdef public class ElementClassLookup [ type LxmlElementClassLookupType, cdef public class FallbackElementClassLookup(ElementClassLookup) \ [ type LxmlFallbackElementClassLookupType, object LxmlFallbackElementClassLookup ]: - """Superclass of Element class lookups with additional fallback. + """FallbackElementClassLookup(self, fallback=None) + + Superclass of Element class lookups with additional fallback. """ cdef readonly ElementClassLookup fallback cdef _element_class_lookup_function _fallback_function def __init__(self, ElementClassLookup fallback=None): self._lookup_function = NULL # use default lookup if fallback is not None: - self.setFallback(fallback) + self._setFallback(fallback) else: self._fallback_function = _lookupDefaultElementClass - def setFallback(self, ElementClassLookup lookup not None): + cdef void _setFallback(self, ElementClassLookup lookup): """Sets the fallback scheme for this lookup method. """ self.fallback = lookup @@ -81,6 +85,20 @@ cdef public class FallbackElementClassLookup(ElementClassLookup) \ if self._fallback_function is NULL: self._fallback_function = _lookupDefaultElementClass + def set_fallback(self, ElementClassLookup lookup not None): + """set_fallback(self, lookup) + + Sets the fallback scheme for this lookup method. + """ + self._setFallback(lookup) + + def setFallback(self, ElementClassLookup lookup not None): + """Sets the fallback scheme for this lookup method. + + :deprecated: use ``set_fallback()`` instead. + """ + self._setFallback(lookup) + cdef object _callFallback(self, _Document doc, xmlNode* c_node): return self._fallback_function(self.fallback, doc, c_node) @@ -89,7 +107,8 @@ cdef public class FallbackElementClassLookup(ElementClassLookup) \ # Custom Element class lookup schemes cdef class ElementDefaultClassLookup(ElementClassLookup): - """Element class lookup scheme that always returns the default Element + """ElementDefaultClassLookup(self, element=None, comment=None, pi=None, entity=None) + Element class lookup scheme that always returns the default Element class. The keyword arguments ``element``, ``comment``, ``pi`` and ``entity`` @@ -163,13 +182,14 @@ cdef object _lookupDefaultElementClass(state, _Document _doc, xmlNode* c_node): assert 0, "Unknown node type: %s" % c_node.type cdef class AttributeBasedElementClassLookup(FallbackElementClassLookup): - """Checks an attribute of an Element and looks up the value in a class - dictionary. + """AttributeBasedElementClassLookup(self, attribute_name, class_mapping, fallback=None) + Checks an attribute of an Element and looks up the value in a + class dictionary. Arguments: - * attribute name - '{ns}name' style string - * class mapping - Python dict mapping attribute values to Element classes - * fallback - optional fallback lookup mechanism + - attribute name - '{ns}name' style string + - class mapping - Python dict mapping attribute values to Element classes + - fallback - optional fallback lookup mechanism A None key in the class mapping will be checked if the attribute is missing. @@ -207,7 +227,8 @@ cdef object _attribute_class_lookup(state, _Document doc, xmlNode* c_node): cdef class ParserBasedElementClassLookup(FallbackElementClassLookup): - """Element class lookup based on the XML parser. + """ParserBasedElementClassLookup(self, fallback=None) + Element class lookup based on the XML parser. """ def __init__(self, ElementClassLookup fallback=None): FallbackElementClassLookup.__init__(self, fallback) @@ -221,7 +242,8 @@ cdef object _parser_class_lookup(state, _Document doc, xmlNode* c_node): cdef class CustomElementClassLookup(FallbackElementClassLookup): - """Element class lookup based on a subclass method. + """CustomElementClassLookup(self, fallback=None) + Element class lookup based on a subclass method. You can inherit from this class and override the method:: @@ -240,6 +262,7 @@ cdef class CustomElementClassLookup(FallbackElementClassLookup): self._lookup_function = _custom_class_lookup def lookup(self, type, doc, namespace, name): + "lookup(self, type, doc, namespace, name)" return None cdef object _custom_class_lookup(state, _Document doc, xmlNode* c_node): @@ -291,11 +314,14 @@ cdef void _setElementClassLookupFunction( LOOKUP_ELEMENT_CLASS = function def setElementClassLookup(ElementClassLookup lookup = None): - "@deprecated: use ``set_element_class_lookup(lookup)`` instead" + ":deprecated: use ``set_element_class_lookup(lookup)`` instead" set_element_class_lookup(lookup) def set_element_class_lookup(ElementClassLookup lookup = None): - "Set the global default element class lookup method." + """set_element_class_lookup(lookup = None) + + Set the global default element class lookup method. + """ if lookup is None or lookup._lookup_function is NULL: _setElementClassLookupFunction(NULL, None) else: |
