[Lxml-checkins] r43590 - in lxml/trunk: . src/lxml
scoder at codespeak.net
scoder at codespeak.net
Wed May 23 21:51:22 CEST 2007
Author: scoder
Date: Wed May 23 21:51:22 2007
New Revision: 43590
Modified:
lxml/trunk/CHANGES.txt
lxml/trunk/src/lxml/objectify.pyx
Log:
parse() function in objectify
Modified: lxml/trunk/CHANGES.txt
==============================================================================
--- lxml/trunk/CHANGES.txt (original)
+++ lxml/trunk/CHANGES.txt Wed May 23 21:51:22 2007
@@ -8,6 +8,8 @@
Features added
--------------
+* ``parse()`` function in ``objectify``, corresponding to ``XML()`` etc.
+
* ``column`` field on error log entries to accompany the ``line`` field
* Error specific messages in XPath parsing and evaluation
Modified: lxml/trunk/src/lxml/objectify.pyx
==============================================================================
--- lxml/trunk/src/lxml/objectify.pyx (original)
+++ lxml/trunk/src/lxml/objectify.pyx Wed May 23 21:51:22 2007
@@ -1685,8 +1685,8 @@
__DEFAULT_PARSER = etree.XMLParser(remove_blank_text=True)
__DEFAULT_PARSER.setElementClassLookup( ObjectifyElementClassLookup() )
-cdef object parser
-parser = __DEFAULT_PARSER
+cdef object objectify_parser
+objectify_parser = __DEFAULT_PARSER
def setDefaultParser(new_parser = None):
"""Replace the default parser used by objectify's Element() and
@@ -1696,16 +1696,16 @@
Call without arguments to reset to the original parser.
"""
- global parser
+ global objectify_parser
if new_parser is None:
- parser = __DEFAULT_PARSER
+ objectify_parser = __DEFAULT_PARSER
elif isinstance(new_parser, etree.XMLParser):
- parser = new_parser
+ objectify_parser = new_parser
else:
raise TypeError, "parser must inherit from lxml.etree.XMLParser"
cdef _Element _makeElement(tag, text, attrib, nsmap):
- return cetree.makeElement(tag, None, parser, text, None, attrib, nsmap)
+ return cetree.makeElement(tag, None, objectify_parser, text, None, attrib, nsmap)
################################################################################
# Module level factory functions
@@ -1718,10 +1718,18 @@
NOTE: requires parser based element class lookup activated in lxml.etree!
"""
- return _fromstring(xml, parser)
+ return _fromstring(xml, objectify_parser)
XML = fromstring
+cdef object _parse
+_parse = etree.parse
+
+def parse(f, parser=None):
+ if parser is None:
+ parser = objectify_parser
+ return _parse(f, parser)
+
cdef object _DEFAULT_NSMAP
_DEFAULT_NSMAP = { "py" : PYTYPE_NAMESPACE,
"xsi" : XML_SCHEMA_INSTANCE_NS,
More information about the lxml-checkins
mailing list