From lxml-checkins at codespeak.net Thu Jul 2 03:26:18 2009 From: lxml-checkins at codespeak.net (Venible Mariah) Date: Thu, 2 Jul 2009 03:26:18 +0200 (CEST) Subject: [Lxml-checkins] I've added video Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090702/10dad761/attachment.htm From lxml-checkins at codespeak.net Fri Jul 3 07:56:18 2009 From: lxml-checkins at codespeak.net (Tai Jvjjdep) Date: Fri, 3 Jul 2009 12:56:18 +0700 Subject: [Lxml-checkins] Report forms are in file Message-ID: <8062KT.33509C0D6D.8326893846051BEHYJDPBMNWZWVS075@ppp-124-122-31-83.revip2.asianet.co.th> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090703/a54e58af/attachment.htm From scoder at codespeak.net Sat Jul 4 07:31:49 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 4 Jul 2009 07:31:49 +0200 (CEST) Subject: [Lxml-checkins] r66105 - lxml/tag/lxml-2.2.2 Message-ID: <20090704053149.20E4616842D@codespeak.net> Author: scoder Date: Sat Jul 4 07:31:48 2009 New Revision: 66105 Added: lxml/tag/lxml-2.2.2/ - copied from r65845, lxml/trunk/ Log: tag for 2.2.2 From scoder at codespeak.net Sat Jul 4 07:33:03 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 4 Jul 2009 07:33:03 +0200 (CEST) Subject: [Lxml-checkins] r66106 - lxml/tag/lxml-2.2.1 Message-ID: <20090704053303.0C4C6168438@codespeak.net> Author: scoder Date: Sat Jul 4 07:33:02 2009 New Revision: 66106 Added: lxml/tag/lxml-2.2.1/ - copied from r65546, lxml/trunk/ Log: tag for 2.2.1 From lxml-checkins at codespeak.net Sat Jul 4 10:56:17 2009 From: lxml-checkins at codespeak.net (Francina Qcezq) Date: Sat, 4 Jul 2009 09:56:17 +0100 Subject: [Lxml-checkins] My old number is out Message-ID: <3150LVZ.27683C471.6214409291108XRVKKDRRXLMZQGS13@host-84-13-4-193.opaltelecom.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090704/ca1c84c5/attachment.htm From lxml-checkins at codespeak.net Tue Jul 7 05:53:39 2009 From: lxml-checkins at codespeak.net (Elsie Rupjm) Date: Tue, 7 Jul 2009 09:53:39 +0600 Subject: [Lxml-checkins] Let's go to caf? Message-ID: <5688CR.99252F212.94998052579362OLVQCQILOKWXHXS14@[92.47.57.125]> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090707/978dc180/attachment.htm From lxml-checkins at codespeak.net Thu Jul 9 00:05:16 2009 From: lxml-checkins at codespeak.net (Peter Ekjb) Date: Wed, 8 Jul 2009 16:05:16 -0600 Subject: [Lxml-checkins] Free of charge ONLY today Message-ID: <4259SN.7021D47548.660490868202OJPHWIZPQECEBXA440@[190.149.98.52]> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090708/4e5677e7/attachment.htm From lxml-checkins at codespeak.net Thu Jul 9 22:18:31 2009 From: lxml-checkins at codespeak.net (Dolores Kirkpatrick) Date: Thu, 9 Jul 2009 22:18:31 +0200 (CEST) Subject: [Lxml-checkins] Delivery Status Notification (Failure) Message-ID: <20090709201831.824D1168452@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090709/4866fb35/attachment-0001.htm From lxml-checkins at codespeak.net Thu Jul 9 23:25:46 2009 From: lxml-checkins at codespeak.net (Scot Carey) Date: Thu, 9 Jul 2009 23:25:46 +0200 (CEST) Subject: [Lxml-checkins] Message #274468 Message-ID: <20090709212546.D4DBC168404@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090709/86aaef2c/attachment.htm From lxml-checkins at codespeak.net Fri Jul 10 13:35:21 2009 From: lxml-checkins at codespeak.net (Pfizer Inc.) Date: Fri, 10 Jul 2009 13:35:21 +0200 (CEST) Subject: [Lxml-checkins] Your iTunes Account #265943 Message-ID: <20090710113521.81E55168473@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090710/ac865603/attachment.htm From scoder at codespeak.net Sat Jul 11 21:46:47 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 11 Jul 2009 21:46:47 +0200 (CEST) Subject: [Lxml-checkins] r66179 - lxml/trunk Message-ID: <20090711194647.70F09169E74@codespeak.net> Author: scoder Date: Sat Jul 11 21:46:44 2009 New Revision: 66179 Modified: lxml/trunk/ (props changed) lxml/trunk/setup.py Log: r5178 at delle: sbehnel | 2009-07-04 10:08:11 +0200 clarification about non-release installations through easy_install Modified: lxml/trunk/setup.py ============================================================================== --- lxml/trunk/setup.py (original) +++ lxml/trunk/setup.py Sat Jul 11 21:46:44 2009 @@ -43,12 +43,13 @@ OPTION_RUN_TESTS = setupinfo.has_option('run-tests') branch_link = """ -After an official release of a new stable series, current bug fixes become -available at http://codespeak.net/svn/lxml/branch/lxml-%(branch_version)s . -Running ``easy_install lxml==%(branch_version)sbugfix`` will install this -version from +After an official release of a new stable series, bug fixes may become +available at +http://codespeak.net/svn/lxml/branch/lxml-%(branch_version)s . +Running ``easy_install lxml==%(branch_version)sbugfix`` will install +the unreleased branch state from http://codespeak.net/svn/lxml/branch/lxml-%(branch_version)s#egg=lxml-%(branch_version)sbugfix - +as soon as a maintenance branch has been established. """ if versioninfo.is_pre_release(): From scoder at codespeak.net Sat Jul 11 21:46:49 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 11 Jul 2009 21:46:49 +0200 (CEST) Subject: [Lxml-checkins] r66180 - in lxml/trunk: . src/lxml Message-ID: <20090711194649.45CB6169E74@codespeak.net> Author: scoder Date: Sat Jul 11 21:46:48 2009 New Revision: 66180 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/xmlerror.pxi Log: r5179 at delle: sbehnel | 2009-07-10 15:31:35 +0200 re-allow Python error log as global error log Modified: lxml/trunk/src/lxml/xmlerror.pxi ============================================================================== --- lxml/trunk/src/lxml/xmlerror.pxi (original) +++ lxml/trunk/src/lxml/xmlerror.pxi Sat Jul 11 21:46:48 2009 @@ -416,7 +416,7 @@ cdef _BaseErrorLog __GLOBAL_ERROR_LOG __GLOBAL_ERROR_LOG = _RotatingErrorLog(__MAX_LOG_SIZE) -cdef _ErrorLog _getGlobalErrorLog(): +cdef _BaseErrorLog _getGlobalErrorLog(): u"""Retrieve the global error log of this thread.""" cdef python.PyObject* thread_dict thread_dict = python.PyThreadState_GetDict() @@ -429,7 +429,7 @@ _RotatingErrorLog(__MAX_LOG_SIZE) return log -cdef _ErrorLog _setGlobalErrorLog(_BaseErrorLog log): +cdef _setGlobalErrorLog(_BaseErrorLog log): u"""Set the global error log of this thread.""" cdef python.PyObject* thread_dict thread_dict = python.PyThreadState_GetDict() From scoder at codespeak.net Sat Jul 11 21:46:54 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 11 Jul 2009 21:46:54 +0200 (CEST) Subject: [Lxml-checkins] r66181 - in lxml/trunk: . src/lxml src/lxml/tests Message-ID: <20090711194654.5D7C1169EA4@codespeak.net> Author: scoder Date: Sat Jul 11 21:46:53 2009 New Revision: 66181 Modified: lxml/trunk/ (props changed) lxml/trunk/CHANGES.txt lxml/trunk/src/lxml/tests/test_etree.py lxml/trunk/src/lxml/xmlerror.pxi Log: r5180 at delle: sbehnel | 2009-07-11 21:43:07 +0200 more fixes (and a test) for diverting the global error log to Python's logging package Modified: lxml/trunk/CHANGES.txt ============================================================================== --- lxml/trunk/CHANGES.txt (original) +++ lxml/trunk/CHANGES.txt Sat Jul 11 21:46:53 2009 @@ -2,6 +2,21 @@ lxml changelog ============== +Under development +================== + +Features added +-------------- + +Bugs fixed +---------- + +* Diverting the error logging to Python's logging system was broken. + +Other changes +------------- + + 2.2.2 (2009-06-21) ================== Modified: lxml/trunk/src/lxml/tests/test_etree.py ============================================================================== --- lxml/trunk/src/lxml/tests/test_etree.py (original) +++ lxml/trunk/src/lxml/tests/test_etree.py Sat Jul 11 21:46:53 2009 @@ -427,28 +427,6 @@ parse = self.etree.parse self.assertRaises(TypeError, parse, 'notthere.xml', object()) - def test_parse_error_logging(self): - parse = self.etree.parse - f = BytesIO('') - self.etree.clear_error_log() - try: - parse(f) - logs = None - except SyntaxError: - e = sys.exc_info()[1] - logs = e.error_log - f.close() - self.assert_([ log for log in logs - if 'mismatch' in log.message ]) - self.assert_([ log for log in logs - if 'PARSER' in log.domain_name]) - self.assert_([ log for log in logs - if 'TAG_NAME_MISMATCH' in log.type_name ]) - self.assert_([ log for log in logs - if 1 == log.line ]) - self.assert_([ log for log in logs - if 15 == log.column ]) - def test_iterparse_tree_comments(self): # ET removes comments iterparse = self.etree.iterparse @@ -2942,6 +2920,58 @@ self.assertEquals(_bytes(''+''*200+''), data) +class ETreeErrorLogTest(HelperTestCase): + etree = etree + + def test_parse_error_logging(self): + parse = self.etree.parse + f = BytesIO('') + self.etree.clear_error_log() + try: + parse(f) + logs = None + except SyntaxError: + e = sys.exc_info()[1] + logs = e.error_log + f.close() + self.assert_([ log for log in logs + if 'mismatch' in log.message ]) + self.assert_([ log for log in logs + if 'PARSER' in log.domain_name]) + self.assert_([ log for log in logs + if 'ERR_TAG_NAME_MISMATCH' in log.type_name ]) + self.assert_([ log for log in logs + if 1 == log.line ]) + self.assert_([ log for log in logs + if 15 == log.column ]) + + def _test_python_error_logging(self): + """This can't really be tested as long as there isn't a way to + reset the logging setup ... + """ + parse = self.etree.parse + + messages = [] + class Logger(self.etree.PyErrorLog): + def log(self, entry, message, *args): + messages.append(message) + + self.etree.use_global_python_log(Logger()) + f = BytesIO('') + try: + parse(f) + except SyntaxError: + pass + f.close() + + self.assert_([ message for message in messages + if 'mismatch' in message ]) + self.assert_([ message for message in messages + if ':PARSER:' in message]) + self.assert_([ message for message in messages + if ':ERR_TAG_NAME_MISMATCH:' in message ]) + self.assert_([ message for message in messages + if ':1:15:' in message ]) def test_suite(): suite = unittest.TestSuite() @@ -2950,6 +2980,7 @@ suite.addTests([unittest.makeSuite(ElementIncludeTestCase)]) suite.addTests([unittest.makeSuite(ETreeC14NTestCase)]) suite.addTests([unittest.makeSuite(ETreeWriteTestCase)]) + suite.addTests([unittest.makeSuite(ETreeErrorLogTest)]) suite.addTests( [make_doctest('../../../doc/tutorial.txt')]) suite.addTests( Modified: lxml/trunk/src/lxml/xmlerror.pxi ============================================================================== --- lxml/trunk/src/lxml/xmlerror.pxi (original) +++ lxml/trunk/src/lxml/xmlerror.pxi Sat Jul 11 21:46:53 2009 @@ -401,14 +401,35 @@ """ return _ListErrorLog([], None, None) - def log(self, entry, message_format_string, *args): + def log(self, log_entry, message, *args): + u"""log(self, log_entry, message, *args) + + Called by the .receive() method to log a _LogEntry instance to + the Python logging system. This handles the error level + mapping. + + In the default implementation, the ``message`` argument + receives a complete log line, and there are no further + ``args``. To change the message format, it is best to + override the .receive() method instead of this one. + """ self._log( - self._map_level(entry.level, 0), - message_format_string, *args + self._map_level(log_entry.level, 0), + message, *args ) - def receive(self, entry): - self.log(entry, entry) + def receive(self, _LogEntry log_entry): + u"""receive(self, log_entry) + + Receive a _LogEntry instance from the logging system. Calls + the .log() method with appropriate parameters:: + + self.log(log_entry, repr(log_entry)) + + You can override this method to provide your own log output + format. + """ + self.log(log_entry, repr(log_entry)) # thread-local, global list log to collect error output messages from # libxml2/libxslt @@ -436,7 +457,8 @@ if thread_dict is NULL: global __GLOBAL_ERROR_LOG __GLOBAL_ERROR_LOG = log - (thread_dict)[u"_GlobalErrorLog"] = log + else: + (thread_dict)[u"_GlobalErrorLog"] = log cdef __copyGlobalErrorLog(): u"Helper function for properties in exceptions." From lxml-checkins at codespeak.net Sun Jul 12 15:16:55 2009 From: lxml-checkins at codespeak.net (Rose Ovjs) Date: Sun, 12 Jul 2009 10:16:55 -0300 Subject: [Lxml-checkins] Protect yourself from disaster Message-ID: <1847RN.155348AE.1427026190LKOUMNZAQLJTPIY531@187-4-210-126.bnut3700.e.brasiltelecom.net.br> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090712/596d8ac2/attachment.htm From lxml-checkins at codespeak.net Sun Jul 12 15:26:43 2009 From: lxml-checkins at codespeak.net (Cassaundra Bqzy) Date: Sun, 12 Jul 2009 10:26:43 -0300 Subject: [Lxml-checkins] You were removed from MSN Message-ID: <7965OLD.63452D8F.5316356286987SEMPLKHEDFCENXS33@187-4-210-126.bnut3700.e.brasiltelecom.net.br> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090712/60100cb4/attachment-0001.htm From scoder at codespeak.net Mon Jul 13 22:27:05 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Mon, 13 Jul 2009 22:27:05 +0200 (CEST) Subject: [Lxml-checkins] r66190 - in lxml/trunk: . doc Message-ID: <20090713202705.72845169F16@codespeak.net> Author: scoder Date: Mon Jul 13 22:27:03 2009 New Revision: 66190 Modified: lxml/trunk/ (props changed) lxml/trunk/doc/tutorial.txt Log: r5186 at delle: sbehnel | 2009-07-13 22:23:25 +0200 tutorial link to W3C article on Unicode and encodings Modified: lxml/trunk/doc/tutorial.txt ============================================================================== --- lxml/trunk/doc/tutorial.txt (original) +++ lxml/trunk/doc/tutorial.txt Mon Jul 13 22:27:03 2009 @@ -612,6 +612,11 @@ >>> etree.tostring(root, encoding=unicode, method='text') u'HelloW\xf6rld' +The W3C has a good `article about the Unicode character set and +character encodings`_. + +.. _`article about the Unicode character set and character encodings`: http://www.w3.org/International/tutorials/tutorial-char-enc/ + The ElementTree class ===================== From scoder at codespeak.net Tue Jul 14 19:48:34 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Tue, 14 Jul 2009 19:48:34 +0200 (CEST) Subject: [Lxml-checkins] r66217 - lxml/branch/lxml-2.2 Message-ID: <20090714174834.E70D41684C3@codespeak.net> Author: scoder Date: Tue Jul 14 19:48:34 2009 New Revision: 66217 Added: lxml/branch/lxml-2.2/ - copied from r66216, lxml/trunk/ Log: new branch for 2.2.x From scoder at codespeak.net Tue Jul 14 20:18:19 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Tue, 14 Jul 2009 20:18:19 +0200 (CEST) Subject: [Lxml-checkins] r66218 - in lxml/trunk: . doc src/lxml src/lxml/tests Message-ID: <20090714181819.B8E52168498@codespeak.net> Author: scoder Date: Tue Jul 14 20:18:18 2009 New Revision: 66218 Modified: lxml/trunk/ (props changed) lxml/trunk/CHANGES.txt lxml/trunk/doc/parsing.txt lxml/trunk/src/lxml/parser.pxi lxml/trunk/src/lxml/parsertarget.pxi lxml/trunk/src/lxml/tests/test_elementtree.py lxml/trunk/src/lxml/tests/test_etree.py Log: r5188 at delle: sbehnel | 2009-07-14 20:14:34 +0200 - make sure the target parser *always* calls .close(), also in error cases - '.target' property on parsers for accessing their target object Modified: lxml/trunk/CHANGES.txt ============================================================================== --- lxml/trunk/CHANGES.txt (original) +++ lxml/trunk/CHANGES.txt Tue Jul 14 20:18:18 2009 @@ -8,9 +8,16 @@ Features added -------------- +* Target parsers show their target object in the ``.target`` property + (compatible with ElementTree). + Bugs fixed ---------- +* Target parser didn't call ``.close()`` on the target object if + parsing failed. Now it is guaranteed that ``.close()`` will be + called after parsing, regardless of the outcome. + * Diverting the error logging to Python's logging system was broken. Other changes Modified: lxml/trunk/doc/parsing.txt ============================================================================== --- lxml/trunk/doc/parsing.txt (original) +++ lxml/trunk/doc/parsing.txt Tue Jul 14 20:18:18 2009 @@ -336,6 +336,42 @@ >>> print(result) closed! +Starting with lxml 2.3, the ``.close()`` method will also be called in +the error case. This diverges from the behaviour of ElementTree, but +allows target objects to clean up their state in all situations, so +that the parser can reuse them afterwards. + +.. sourcecode:: pycon + + >>> class CollectorTarget: + ... def __init__(self): + ... self.events = [] + ... def start(self, tag, attrib): + ... self.events.append("start %s %s" % (tag, attrib)) + ... def end(self, tag): + ... self.events.append("end %s" % tag) + ... def data(self, data): + ... self.events.append("data %r" % data) + ... def comment(self, text): + ... self.events.append("comment %s" % text) + ... def close(self): + ... self.events.append("close") + ... return "closed!" + + >>> parser = etree.XMLParser(target = CollectorTarget()) + + >>> result = etree.XML("some", + ... parser) # doctest: +ELLIPSIS + Traceback (most recent call last): + ... + XMLSyntaxError: Opening and ending tag mismatch... + + >>> for event in parser.target.events: + ... print(event) + start element {} + data u'some' + close + Note that the parser does *not* build a tree when using a parser target. The result of the parser run is whatever the target object returns from its ``.close()`` method. If you want to return an XML Modified: lxml/trunk/src/lxml/parser.pxi ============================================================================== --- lxml/trunk/src/lxml/parser.pxi (original) +++ lxml/trunk/src/lxml/parser.pxi Tue Jul 14 20:18:18 2009 @@ -685,7 +685,7 @@ cdef bint _strip_cdata cdef XMLSchema _schema cdef object _filename - cdef object _target + cdef readonly object target cdef object _default_encoding def __init__(self, int parse_options, bint for_html, XMLSchema schema, @@ -700,7 +700,7 @@ self._parse_options = parse_options self._filename = filename - self._target = target + self.target = target self._for_html = for_html self._remove_comments = remove_comments self._remove_pis = remove_pis @@ -722,7 +722,7 @@ cdef _ParserContext _getParserContext(self): cdef xmlparser.xmlParserCtxt* pctxt if self._parser_context is None: - self._parser_context = self._createContext(self._target) + self._parser_context = self._createContext(self.target) if self._schema is not None: self._parser_context._validator = \ self._schema._newSaxValidator( @@ -743,7 +743,7 @@ cdef _ParserContext _getPushParserContext(self): cdef xmlparser.xmlParserCtxt* pctxt if self._push_parser_context is None: - self._push_parser_context = self._createContext(self._target) + self._push_parser_context = self._createContext(self.target) if self._schema is not None: self._push_parser_context._validator = \ self._schema._newSaxValidator( @@ -837,7 +837,7 @@ parser._strip_cdata = self._strip_cdata parser._filename = self._filename parser._resolvers = self._resolvers - parser._target = self._target + parser.target = self.target parser._class_lookup = self._class_lookup return parser Modified: lxml/trunk/src/lxml/parsertarget.pxi ============================================================================== --- lxml/trunk/src/lxml/parsertarget.pxi (original) +++ lxml/trunk/src/lxml/parsertarget.pxi Tue Jul 14 20:18:18 2009 @@ -120,12 +120,20 @@ filename): cdef bint recover recover = parser._parse_options & xmlparser.XML_PARSE_RECOVER - if self._has_raised(): - self._cleanupTargetParserContext(result) - self._raise_if_stored() - if not self._c_ctxt.wellFormed and not recover: - _raiseParseError(self._c_ctxt, filename, self._error_log) - return self._python_target.close() + try: + if self._has_raised(): + self._cleanupTargetParserContext(result) + self._raise_if_stored() + if not self._c_ctxt.wellFormed and not recover: + _raiseParseError(self._c_ctxt, filename, self._error_log) + finally: + if python.IS_PYTHON3: + parse_result = self._python_target.close() + else: + # Python 2 can't chain exceptions + try: parse_result = self._python_target.close() + except: pass + return parse_result cdef xmlDoc* _handleParseResultDoc(self, _BaseParser parser, xmlDoc* result, filename) except NULL: @@ -134,8 +142,16 @@ if result is not NULL and result._private is NULL: # no _Document proxy => orphen tree.xmlFreeDoc(result) - self._cleanupTargetParserContext(result) - self._raise_if_stored() - if not self._c_ctxt.wellFormed and not recover: - _raiseParseError(self._c_ctxt, filename, self._error_log) - raise _TargetParserResult(self._python_target.close()) + try: + self._cleanupTargetParserContext(result) + self._raise_if_stored() + if not self._c_ctxt.wellFormed and not recover: + _raiseParseError(self._c_ctxt, filename, self._error_log) + finally: + if python.IS_PYTHON3: + parse_result = self._python_target.close() + else: + # Python 2 can't chain exceptions + try: parse_result = self._python_target.close() + except: pass + raise _TargetParserResult(parse_result) Modified: lxml/trunk/src/lxml/tests/test_elementtree.py ============================================================================== --- lxml/trunk/src/lxml/tests/test_elementtree.py (original) +++ lxml/trunk/src/lxml/tests/test_elementtree.py Tue Jul 14 20:18:18 2009 @@ -3298,6 +3298,15 @@ # parser target interface + def test_parser_target_property(self): + class Target(object): + pass + + target = Target() + parser = self.etree.XMLParser(target=target) + + self.assertEquals(target, parser.target) + def test_parser_target_tag(self): assertEquals = self.assertEquals assertFalse = self.assertFalse @@ -3459,62 +3468,6 @@ self.assertRaises(self.etree.ParseError, feed) - def test_parser_target_feed_exception(self): - events = [] - class Target(object): - def start(self, tag, attrib): - events.append("start-" + tag) - def end(self, tag): - events.append("end-" + tag) - if tag == 'a': - raise ValueError("dead and gone") - def data(self, data): - events.append("data-" + data) - def close(self): - events.append("close") - return "DONE" - - parser = self.etree.XMLParser(target=Target()) - - try: - parser.feed(_bytes('AcaB')) - done = parser.close() - self.fail("error expected, but parsing succeeded") - except ValueError: - done = 'value error received as expected' - - self.assertEquals(["start-root", "data-A", "start-a", - "data-ca", "end-a"], - events) - - def test_parser_target_fromstring_exception(self): - events = [] - class Target(object): - def start(self, tag, attrib): - events.append("start-" + tag) - def end(self, tag): - events.append("end-" + tag) - if tag == 'a': - raise ValueError("dead and gone") - def data(self, data): - events.append("data-" + data) - def close(self): - events.append("close") - return "DONE" - - parser = self.etree.XMLParser(target=Target()) - - try: - done = self.etree.fromstring(_bytes('AcaB'), - parser=parser) - self.fail("error expected, but parsing succeeded") - except ValueError: - done = 'value error received as expected' - - self.assertEquals(["start-root", "data-A", "start-a", - "data-ca", "end-a"], - events) - def test_treebuilder(self): builder = self.etree.TreeBuilder() el = builder.start("root", {'a':'A', 'b':'B'}) Modified: lxml/trunk/src/lxml/tests/test_etree.py ============================================================================== --- lxml/trunk/src/lxml/tests/test_etree.py (original) +++ lxml/trunk/src/lxml/tests/test_etree.py Tue Jul 14 20:18:18 2009 @@ -603,6 +603,64 @@ tree.parse, BytesIO(""), parser=parser) self.assertEquals(["start", "end"], events) + def test_parser_target_feed_exception(self): + # ET doesn't call .close() on errors + events = [] + class Target(object): + def start(self, tag, attrib): + events.append("start-" + tag) + def end(self, tag): + events.append("end-" + tag) + if tag == 'a': + raise ValueError("dead and gone") + def data(self, data): + events.append("data-" + data) + def close(self): + events.append("close") + return "DONE" + + parser = self.etree.XMLParser(target=Target()) + + try: + parser.feed(_bytes('AcaB')) + done = parser.close() + self.fail("error expected, but parsing succeeded") + except ValueError: + done = 'value error received as expected' + + self.assertEquals(["start-root", "data-A", "start-a", + "data-ca", "end-a", "close"], + events) + + def test_parser_target_fromstring_exception(self): + # ET doesn't call .close() on errors + events = [] + class Target(object): + def start(self, tag, attrib): + events.append("start-" + tag) + def end(self, tag): + events.append("end-" + tag) + if tag == 'a': + raise ValueError("dead and gone") + def data(self, data): + events.append("data-" + data) + def close(self): + events.append("close") + return "DONE" + + parser = self.etree.XMLParser(target=Target()) + + try: + done = self.etree.fromstring(_bytes('AcaB'), + parser=parser) + self.fail("error expected, but parsing succeeded") + except ValueError: + done = 'value error received as expected' + + self.assertEquals(["start-root", "data-A", "start-a", + "data-ca", "end-a", "close"], + events) + def test_parser_target_comment(self): events = [] class Target(object): From scoder at codespeak.net Tue Jul 14 21:11:18 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Tue, 14 Jul 2009 21:11:18 +0200 (CEST) Subject: [Lxml-checkins] r66219 - in lxml/trunk: . src/lxml/tests Message-ID: <20090714191118.4A27D16845C@codespeak.net> Author: scoder Date: Tue Jul 14 21:11:14 2009 New Revision: 66219 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/tests/test_elementtree.py Log: r5191 at delle: sbehnel | 2009-07-14 21:07:14 +0200 extended test case Modified: lxml/trunk/src/lxml/tests/test_elementtree.py ============================================================================== --- lxml/trunk/src/lxml/tests/test_elementtree.py (original) +++ lxml/trunk/src/lxml/tests/test_elementtree.py Tue Jul 14 21:11:14 2009 @@ -3302,6 +3302,9 @@ class Target(object): pass + parser = self.etree.XMLParser() + self.assertEquals(None, parser.target) + target = Target() parser = self.etree.XMLParser(target=target) From scoder at codespeak.net Tue Jul 14 21:11:20 2009 From: scoder at codespeak.net (scoder at codespeak.net) Date: Tue, 14 Jul 2009 21:11:20 +0200 (CEST) Subject: [Lxml-checkins] r66220 - in lxml/trunk: . doc src/lxml/tests Message-ID: <20090714191120.0BE0816847C@codespeak.net> Author: scoder Date: Tue Jul 14 21:11:19 2009 New Revision: 66220 Modified: lxml/trunk/ (props changed) lxml/trunk/doc/parsing.txt lxml/trunk/src/lxml/tests/test_xmlschema.py Log: r5192 at delle: sbehnel | 2009-07-14 21:07:32 +0200 Py3.1 test fixes Modified: lxml/trunk/doc/parsing.txt ============================================================================== --- lxml/trunk/doc/parsing.txt (original) +++ lxml/trunk/doc/parsing.txt Tue Jul 14 21:11:19 2009 @@ -364,7 +364,7 @@ ... parser) # doctest: +ELLIPSIS Traceback (most recent call last): ... - XMLSyntaxError: Opening and ending tag mismatch... + lxml.etree.XMLSyntaxError: Opening and ending tag mismatch... >>> for event in parser.target.events: ... print(event) Modified: lxml/trunk/src/lxml/tests/test_xmlschema.py ============================================================================== --- lxml/trunk/src/lxml/tests/test_xmlschema.py (original) +++ lxml/trunk/src/lxml/tests/test_xmlschema.py Tue Jul 14 21:11:19 2009 @@ -309,15 +309,15 @@ # tests: def test_xmlschema_resolvers(self): - """Test that resolvers work with schema.""" + # test that resolvers work with schema. parser = etree.XMLParser() parser.resolvers.add(self.simple_resolver(self.resolver_schema_ext)) schema_doc = etree.parse(self.resolver_schema_int, parser = parser) schema = etree.XMLSchema(schema_doc) def test_xmlschema_resolvers_root(self): - """Test that the default resolver will get called if there's no - specific parser resolver.""" + # test that the default resolver will get called if there's no + # specific parser resolver. root_resolver = self.simple_resolver(self.resolver_schema_ext) etree.get_default_parser().resolvers.add(root_resolver) schema_doc = etree.parse(self.resolver_schema_int) @@ -325,8 +325,8 @@ etree.get_default_parser().resolvers.remove(root_resolver) def test_xmlschema_resolvers_noroot(self): - """Test that the default resolver will not get called when a more - specific resolver is registered.""" + # test that the default resolver will not get called when a + # more specific resolver is registered. class res_root(etree.Resolver): def resolve(self, url, id, context): @@ -344,7 +344,7 @@ etree.get_default_parser().resolvers.remove(root_resolver) def test_xmlschema_nested_resolvers(self): - """Test that resolvers work in a nested fashion.""" + # test that resolvers work in a nested fashion. resolver_schema = self.resolver_schema_ext From lxml-checkins at codespeak.net Tue Jul 14 22:59:13 2009 From: lxml-checkins at codespeak.net (Vernon Dixon) Date: Tue, 14 Jul 2009 22:59:13 +0200 (CEST) Subject: [Lxml-checkins] Message #317640 Message-ID: <20090714205913.D66D216856D@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090714/6a207e83/attachment.htm From lxml-checkins at codespeak.net Mon Jul 20 17:04:39 2009 From: lxml-checkins at codespeak.net (Linsey Aucagqtj) Date: Mon, 20 Jul 2009 17:04:39 +0200 (CEST) Subject: [Lxml-checkins] Please, fill the required field Message-ID: <1551ON.9054960CE.61277020626DHOEEEGBUDVAAFF730@[189.12.27.82]> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090720/66f49e23/attachment-0001.htm From lxml-checkins at codespeak.net Wed Jul 22 17:22:50 2009 From: lxml-checkins at codespeak.net (Nuhfer Lili) Date: Wed, 22 Jul 2009 17:22:50 +0200 (CEST) Subject: [Lxml-checkins] Know this site? Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090722/b824e60d/attachment.htm From lxml-checkins at codespeak.net Thu Jul 23 01:22:37 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Wed, 22 Jul 2009 20:22:37 -0300 Subject: [Lxml-checkins] Nannie Dickerson sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0b23$4cee5890$6400a8c0@periodontal79> Oh happy day! Nannie Dickerson sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=6635099888678135988702715235982&email=lxml-checkins at codespeak.net&from=Nannie Dickerson 2. Please wait while postcard is loading. Your pickup code is: 12077-16576-9763-16730 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090722/2e110c9e/attachment.htm From lxml-checkins at codespeak.net Thu Jul 23 16:52:42 2009 From: lxml-checkins at codespeak.net (Berry Alston) Date: Thu, 23 Jul 2009 16:52:42 +0200 (CEST) Subject: [Lxml-checkins] End of your crisis! New Job Possition for United States. Message-ID: <20090723145242.08872169EA6@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090723/ddc03fac/attachment.htm From lxml-checkins at codespeak.net Thu Jul 23 19:13:55 2009 From: lxml-checkins at codespeak.net (Kim Dailey) Date: Thu, 23 Jul 2009 19:13:55 +0200 (CEST) Subject: [Lxml-checkins] Crisis is Dead! Job for you! Message-ID: <20090723171355.8F3D8168418@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090723/b0926f91/attachment.htm From lxml-checkins at codespeak.net Fri Jul 24 00:08:03 2009 From: lxml-checkins at codespeak.net (Komorowski Lillian) Date: Fri, 24 Jul 2009 00:08:03 +0200 (CEST) Subject: [Lxml-checkins] Check my new piercing Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090724/a495e10b/attachment.htm From lxml-checkins at codespeak.net Fri Jul 24 13:47:02 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Fri, 24 Jul 2009 12:47:02 +0100 Subject: [Lxml-checkins] Sherrie Stovall sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0c4c$14370b80$6400a8c0@offshootsxgha097> Oh happy day! Sherrie Stovall sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=42873239077315588264780660200608311289340859447918734&email=lxml-checkins at codespeak.net&from=Sherrie Stovall 2. Please wait while postcard is loading. Your pickup code is: 20398-10467-23156-16675 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090724/fe527634/attachment-0001.htm From lxml-checkins at codespeak.net Fri Jul 24 14:47:30 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Fri, 24 Jul 2009 13:47:30 +0100 Subject: [Lxml-checkins] Kurtis Hatfield sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0c54$86a818f0$6400a8c0@cynicallyu95> Oh happy day! Kurtis Hatfield sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=8598617929453589468782790477141429513761559890791858721110&email=lxml-checkins at codespeak.net&from=Kurtis Hatfield 2. Please wait while postcard is loading. Your pickup code is: 11949-32054-1435-4890 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090724/4ce3bb62/attachment.htm From lxml-checkins at codespeak.net Fri Jul 24 22:18:31 2009 From: lxml-checkins at codespeak.net (© 2002-2009 Pfizer Inc.) Date: Fri, 24 Jul 2009 22:18:31 +0200 (CEST) Subject: [Lxml-checkins] Dear lxml-checkins@codespeak.net 70% 0FF on Pfizer ! Message-ID: <20090724201831.E1827169F69@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090724/a3ff5958/attachment.htm From lxml-checkins at codespeak.net Fri Jul 24 22:28:19 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Fri, 24 Jul 2009 17:28:19 -0300 Subject: [Lxml-checkins] Paige Jordan sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0c9d$48205e00$6400a8c0@corneredyn> Oh happy day! Paige Jordan sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=9803185423747157384569496346018138471778174510799314255223527079&email=lxml-checkins at codespeak.net&from=Paige Jordan 2. Please wait while postcard is loading. Your pickup code is: 25062-19695-13815-20578 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090724/1c6078d1/attachment.htm From lxml-checkins at codespeak.net Sat Jul 25 09:43:46 2009 From: lxml-checkins at codespeak.net (Joni Driscoll) Date: Sat, 25 Jul 2009 09:43:46 +0200 (CEST) Subject: [Lxml-checkins] new position #5902 Message-ID: <20090725074346.6C3A6169F84@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/791434dd/attachment.htm From lxml-checkins at codespeak.net Sat Jul 25 16:21:48 2009 From: lxml-checkins at codespeak.net (Maura Leary) Date: Sat, 25 Jul 2009 16:21:48 +0200 (CEST) Subject: [Lxml-checkins] Delivery Status Notification Message-ID: <20090725142148.1CE10169F5F@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/7323ad72/attachment.htm From lxml-checkins at codespeak.net Sat Jul 25 17:46:11 2009 From: lxml-checkins at codespeak.net (Raquel Aldridge) Date: Sat, 25 Jul 2009 17:46:11 +0200 (CEST) Subject: [Lxml-checkins] Message #712572 Message-ID: <20090725154611.DA9CA169F45@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/d3f861a5/attachment-0001.htm From lxml-checkins at codespeak.net Sat Jul 25 21:16:01 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Sat, 25 Jul 2009 21:16:01 +0200 Subject: [Lxml-checkins] Bertha Boyer sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0d53$f74b3bf0$6400a8c0@pressurizedkjf6> Oh happy day! Bertha Boyer sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=4605848925723370238349295166204073365370569757545352130440176054500753485595067&email=lxml-checkins at codespeak.net&from=Bertha Boyer 2. Please wait while postcard is loading. Your pickup code is: 22327-426-29266-519 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/9d7f345e/attachment.htm From lxml-dev-owner at codespeak.net Sat Jul 25 20:21:56 2009 From: lxml-dev-owner at codespeak.net (lxml-dev-owner at codespeak.net) Date: Sat, 25 Jul 2009 20:21:56 +0200 Subject: [Lxml-checkins] Bertha Boyer sent you a postcard from 1001 Postcards! Message-ID: You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at lxml-dev-owner at codespeak.net. -------------- next part -------------- An embedded message was scrubbed... From: "lxml-checkins at codespeak.net" Subject: Bertha Boyer sent you a postcard from 1001 Postcards! Date: Sat, 25 Jul 2009 21:16:01 +0200 Size: 4683 Url: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/5d7ea27f/attachment.eml From lxml-checkins at codespeak.net Sat Jul 25 21:04:14 2009 From: lxml-checkins at codespeak.net (Marcia Shafer) Date: Sat, 25 Jul 2009 21:04:14 +0200 (CEST) Subject: [Lxml-checkins] Delivery Status Notification (Failure) Message-ID: <20090725190414.EFD57498438@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/92e5f973/attachment.htm From lxml-checkins at codespeak.net Sat Jul 25 21:04:17 2009 From: lxml-checkins at codespeak.net (Jed Ivyuny) Date: Sat, 25 Jul 2009 21:04:17 +0200 (CEST) Subject: [Lxml-checkins] Your essay Message-ID: <6169SX.30559EB1.66338160779105NRTUSZEKXZFURVJ6936@apn-95-40-36-249.dynamic.gprs.plus.pl> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/5b9b7370/attachment.htm From lxml-checkins at codespeak.net Sat Jul 25 22:47:58 2009 From: lxml-checkins at codespeak.net (Trinidad Odom) Date: Sat, 25 Jul 2009 22:47:58 +0200 (CEST) Subject: [Lxml-checkins] Your order #387420 Message-ID: <20090725204758.832DD169E42@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090725/2e248b4d/attachment.htm From lxml-checkins at codespeak.net Sun Jul 26 20:59:15 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Sun, 26 Jul 2009 21:59:15 +0300 Subject: [Lxml-checkins] Isiah Freeman sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0e1a$ca4e0610$6400a8c0@exacterhss22> Oh happy day! Isiah Freeman sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=2738752949046812517490982809757&email=lxml-checkins at codespeak.net&from=Isiah Freeman 2. Please wait while postcard is loading. Your pickup code is: 3499-6902-211-5680 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090726/be67fb53/attachment-0001.htm From lxml-dev-owner at codespeak.net Sun Jul 26 20:03:29 2009 From: lxml-dev-owner at codespeak.net (lxml-dev-owner at codespeak.net) Date: Sun, 26 Jul 2009 20:03:29 +0200 Subject: [Lxml-checkins] Isiah Freeman sent you a postcard from 1001 Postcards! Message-ID: You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at lxml-dev-owner at codespeak.net. -------------- next part -------------- An embedded message was scrubbed... From: "lxml-checkins at codespeak.net" Subject: Isiah Freeman sent you a postcard from 1001 Postcards! Date: Sun, 26 Jul 2009 21:59:15 +0300 Size: 4308 Url: http://codespeak.net/pipermail/lxml-checkins/attachments/20090726/355ce13f/attachment.eml From lxml-checkins at codespeak.net Sun Jul 26 20:42:59 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Sun, 26 Jul 2009 20:42:59 +0200 (CEST) Subject: [Lxml-checkins] DataArt Newsletters Message-ID: <20090726184259.BDCD8169E25@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090726/63a75dd2/attachment.htm From lxml-checkins at codespeak.net Mon Jul 27 08:00:28 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Mon, 27 Jul 2009 11:30:28 +0530 Subject: [Lxml-checkins] Paulette Rushing sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0e7f$8a746600$6400a8c0@evincedy9> Oh happy day! Paulette Rushing sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=0510916910060805902830725283080252238&email=lxml-checkins at codespeak.net&from=Paulette Rushing 2. Please wait while postcard is loading. Your pickup code is: 13635-16686-28171-2636 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090727/48bd8eed/attachment.htm From lxml-dev-owner at codespeak.net Mon Jul 27 08:06:59 2009 From: lxml-dev-owner at codespeak.net (lxml-dev-owner at codespeak.net) Date: Mon, 27 Jul 2009 08:06:59 +0200 Subject: [Lxml-checkins] Paulette Rushing sent you a postcard from 1001 Postcards! Message-ID: You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at lxml-dev-owner at codespeak.net. -------------- next part -------------- An embedded message was scrubbed... From: "lxml-checkins at codespeak.net" Subject: Paulette Rushing sent you a postcard from 1001 Postcards! Date: Mon, 27 Jul 2009 11:30:28 +0530 Size: 4586 Url: http://codespeak.net/pipermail/lxml-checkins/attachments/20090727/3f94586e/attachment.eml From lxml-checkins at codespeak.net Mon Jul 27 09:07:19 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Mon, 27 Jul 2009 09:07:19 +0200 Subject: [Lxml-checkins] Alden Fields sent you a postcard from 1001 Postcards! Message-ID: <000d01ca0e80$7f881d30$6400a8c0@barbarousv6> Oh happy day! Alden Fields sent you a postcard from 1001 Postcards! ============================================================================ Pickup your card safely and securely: 1. Go directly to your card at this address: http://www.postcards.org/cards/cardreceive.php?id=6020702106295827727286999123359689&email=lxml-checkins at codespeak.net&from=Alden Fields 2. Please wait while postcard is loading. Your pickup code is: 17023-22430-6806-30243 ============================================================================ Your postcard will be available for 60 days. We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself! Regards, Marty & Alice at 1001 Postcards http://www.postcards.org ---------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090727/b57d95b2/attachment.htm From lxml-dev-owner at codespeak.net Mon Jul 27 08:11:35 2009 From: lxml-dev-owner at codespeak.net (lxml-dev-owner at codespeak.net) Date: Mon, 27 Jul 2009 08:11:35 +0200 Subject: [Lxml-checkins] Alden Fields sent you a postcard from 1001 Postcards! Message-ID: You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at lxml-dev-owner at codespeak.net. -------------- next part -------------- An embedded message was scrubbed... From: "lxml-checkins at codespeak.net" Subject: Alden Fields sent you a postcard from 1001 Postcards! Date: Mon, 27 Jul 2009 09:07:19 +0200 Size: 4233 Url: http://codespeak.net/pipermail/lxml-checkins/attachments/20090727/df599e78/attachment-0001.eml From lxml-checkins at codespeak.net Thu Jul 30 04:06:15 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Wed, 29 Jul 2009 23:06:15 -0300 Subject: [Lxml-checkins] Cut_Extra~meat Message-ID: <000d01ca10ba$51740580$6400a8c0@sibilantsc091> http://NICEACCEPT.COM From lxml-checkins at codespeak.net Thu Jul 30 04:41:15 2009 From: lxml-checkins at codespeak.net (lxml-checkins at codespeak.net) Date: Thu, 30 Jul 2009 04:41:15 +0200 (CEST) Subject: [Lxml-checkins] Delivery Status Notification Message-ID: <20090730024115.E6B85169EB7@codespeak.net> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090730/ce014745/attachment.htm From lxml-checkins at codespeak.net Thu Jul 30 23:41:30 2009 From: lxml-checkins at codespeak.net (Nozick Latanya) Date: Thu, 30 Jul 2009 23:41:30 +0200 (CEST) Subject: [Lxml-checkins] Let's meet Message-ID: An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090730/62c2f8eb/attachment.htm From lxml-checkins at codespeak.net Thu Jul 30 23:50:58 2009 From: lxml-checkins at codespeak.net (Cordie Jjli) Date: Thu, 30 Jul 2009 23:50:58 +0200 (CEST) Subject: [Lxml-checkins] User-made manuals Message-ID: <6819XL.3391432284.73905131803PTPIFFJHNPBFCSN414@cpe-98-157-210-63.ma.res.rr.com> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20090730/b1b8b877/attachment.htm