summaryrefslogtreecommitdiff
path: root/src/lxml/classlookup.pxi
diff options
context:
space:
mode:
Diffstat (limited to 'src/lxml/classlookup.pxi')
-rw-r--r--src/lxml/classlookup.pxi54
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: