From scoder at codespeak.net Sat May 1 08:01:32 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 1 May 2010 08:01:32 +0200 (CEST) Subject: [Lxml-checkins] r74304 - in lxml/trunk: . src/lxml Message-ID: <20100501060132.E897C282BF5@codespeak.net> Author: scoder Date: Sat May 1 08:01:29 2010 New Revision: 74304 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/parser.pxi Log: r5576 at lenny: sbehnel | 2010-05-01 06:44:38 +0200 cleanup Modified: lxml/trunk/src/lxml/parser.pxi ============================================================================== --- lxml/trunk/src/lxml/parser.pxi (original) +++ lxml/trunk/src/lxml/parser.pxi Sat May 1 08:01:29 2010 @@ -198,8 +198,7 @@ ############################################################ # name of Python unicode encoding as known to libxml2 -cdef char* _UNICODE_ENCODING -_UNICODE_ENCODING = NULL +cdef char* _UNICODE_ENCODING = NULL cdef void _setupPythonUnicode(): u"""Sets _UNICODE_ENCODING to the internal encoding name of Python unicode @@ -249,6 +248,7 @@ elif enc == tree.XML_CHAR_ENCODING_NONE: return NULL else: + # returns a constant char*, no need to free it return tree.xmlGetCharEncodingName(enc) _setupPythonUnicode() From scoder at codespeak.net Sat May 1 08:01:35 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 1 May 2010 08:01:35 +0200 (CEST) Subject: [Lxml-checkins] r74305 - lxml/trunk Message-ID: <20100501060135.C1993282BF9@codespeak.net> Author: scoder Date: Sat May 1 08:01:33 2010 New Revision: 74305 Modified: lxml/trunk/ (props changed) lxml/trunk/INSTALL.txt Log: r5577 at lenny: sbehnel | 2010-05-01 08:01:17 +0200 comment on preferred libxml2 versions Modified: lxml/trunk/INSTALL.txt ============================================================================== --- lxml/trunk/INSTALL.txt (original) +++ lxml/trunk/INSTALL.txt Sat May 1 08:01:33 2010 @@ -26,8 +26,13 @@ * libxml 2.6.21 or later. It can be found here: http://xmlsoft.org/downloads.html - If you want to use XPath, do not use libxml2 2.6.27. We recommend - libxml2 2.7.2 or later. + * We recommend libxml2 2.7.{2,3,7} or a later version. + + * If you want to use XPath, do not use libxml2 2.6.27. + + * If you want to use the feed parser interface, especially when + parsing from unicode strings, do not use libxml2 2.7.4 through + 2.7.6. * libxslt 1.1.15 or later. It can be found here: http://xmlsoft.org/XSLT/downloads.html From scoder at codespeak.net Sat May 1 08:06:17 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Sat, 1 May 2010 08:06:17 +0200 (CEST) Subject: [Lxml-checkins] r74306 - lxml/trunk Message-ID: <20100501060617.D994D282BF5@codespeak.net> Author: scoder Date: Sat May 1 08:06:16 2010 New Revision: 74306 Modified: lxml/trunk/ (props changed) lxml/trunk/INSTALL.txt Log: r5580 at lenny: sbehnel | 2010-05-01 08:06:12 +0200 comment on preferred libxslt versions Modified: lxml/trunk/INSTALL.txt ============================================================================== --- lxml/trunk/INSTALL.txt (original) +++ lxml/trunk/INSTALL.txt Sat May 1 08:06:16 2010 @@ -37,6 +37,8 @@ * libxslt 1.1.15 or later. It can be found here: http://xmlsoft.org/XSLT/downloads.html + * We recomment libxslt 1.1.26 or later. + Newer versions generally contain less bugs and are therefore recommended. XML Schema support is also still worked on in libxml2, so newer versions will give you better complience with the W3C spec. From lxml-checkins at codespeak.net Wed May 12 21:57:22 2010 From: lxml-checkins at codespeak.net (Real Viagra) Date: Wed, 12 May 2010 23:57:22 +0400 Subject: [Lxml-checkins] lxml-checkins@codespeak.net Alert 5035876 Message-ID: <000301caf20e$dc697766$7212a8c0@dynip.superkabel.de> An HTML attachment was scrubbed... URL: http://codespeak.net/pipermail/lxml-checkins/attachments/20100512/92ad2823/attachment.htm From scoder at codespeak.net Thu May 20 21:38:50 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Thu, 20 May 2010 21:38:50 +0200 (CEST) Subject: [Lxml-checkins] r74606 - in lxml/trunk: . src/lxml Message-ID: <20100520193850.5A5FC282B90@codespeak.net> Author: scoder Date: Thu May 20 21:38:47 2010 New Revision: 74606 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/lxml.etree.pyx Log: r5582 at lenny: sbehnel | 2010-05-01 15:40:35 +0200 another safety fix Modified: lxml/trunk/src/lxml/lxml.etree.pyx ============================================================================== --- lxml/trunk/src/lxml/lxml.etree.pyx (original) +++ lxml/trunk/src/lxml/lxml.etree.pyx Thu May 20 21:38:47 2010 @@ -470,7 +470,7 @@ cdef class DocInfo: u"Document information provided by parser and DTD." cdef _Document _doc - def __init__(self, tree): + def __cinit__(self, tree): u"Create a DocInfo object for an ElementTree object or root Element." self._doc = _documentOrRaise(tree) root_name, public_id, system_url = self._doc.getdoctype() From scoder at codespeak.net Thu May 20 21:38:52 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Thu, 20 May 2010 21:38:52 +0200 (CEST) Subject: [Lxml-checkins] r74607 - lxml/trunk Message-ID: <20100520193852.10D6B282BE0@codespeak.net> Author: scoder Date: Thu May 20 21:38:51 2010 New Revision: 74607 Modified: lxml/trunk/ (props changed) lxml/trunk/INSTALL.txt Log: r5583 at lenny: sbehnel | 2010-05-01 15:41:35 +0200 ReST fix Modified: lxml/trunk/INSTALL.txt ============================================================================== --- lxml/trunk/INSTALL.txt (original) +++ lxml/trunk/INSTALL.txt Thu May 20 21:38:51 2010 @@ -112,6 +112,8 @@ setup.py script, or run ``easy_install`` with the ``STATIC_DEPS`` environment variable set to true, i.e. +:: + STATIC_DEPS=true easy_install lxml From scoder at codespeak.net Thu May 20 21:38:55 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Thu, 20 May 2010 21:38:55 +0200 (CEST) Subject: [Lxml-checkins] r74608 - in lxml/trunk: . src/lxml Message-ID: <20100520193855.F37F2282C0D@codespeak.net> Author: scoder Date: Thu May 20 21:38:54 2010 New Revision: 74608 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/xslt.pxi Log: r5584 at lenny: sbehnel | 2010-05-20 16:47:27 +0200 docstrings Modified: lxml/trunk/src/lxml/xslt.pxi ============================================================================== --- lxml/trunk/src/lxml/xslt.pxi (original) +++ lxml/trunk/src/lxml/xslt.pxi Thu May 20 21:38:54 2010 @@ -828,10 +828,12 @@ cdef class _XSLTProcessingInstruction(PIBase): def parseXSL(self, parser=None): - u"""Try to parse the stylesheet referenced by this PI and return an - ElementTree for it. If the stylesheet is embedded in the same - document (referenced via xml:id), find and return an ElementTree for - the stylesheet Element. + u"""parseXSL(self, parser=None) + + Try to parse the stylesheet referenced by this PI and return + an ElementTree for it. If the stylesheet is embedded in the + same document (referenced via xml:id), find and return an + ElementTree for the stylesheet Element. The optional ``parser`` keyword argument can be passed to specify the parser used to read from external stylesheet URLs. @@ -879,6 +881,10 @@ return _elementTreeFactory(result_node._doc, result_node) def set(self, key, value): + u"""set(self, key, value) + + Sets a pseudo attribute in the text of the processing instruction. + """ if key != u"href": raise AttributeError, \ u"only setting the 'href' attribute is supported on XSLT-PIs" @@ -895,6 +901,10 @@ self.text = text + attrib def get(self, key, default=None): + u"""get(self, key, default=None) + + Parses a pseudo attribute from the text of the processing instruction. + """ for attr, value in _FIND_PI_ATTRIBUTES(u' ' + self.text): if attr == key: return value From scoder at codespeak.net Thu May 20 21:38:58 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Thu, 20 May 2010 21:38:58 +0200 (CEST) Subject: [Lxml-checkins] r74609 - in lxml/trunk: . src/lxml Message-ID: <20100520193858.919DE282B90@codespeak.net> Author: scoder Date: Thu May 20 21:38:57 2010 New Revision: 74609 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/xmlerror.pxi Log: r5585 at lenny: sbehnel | 2010-05-20 21:38:35 +0200 cleanup: use new-style classes Modified: lxml/trunk/src/lxml/xmlerror.pxi ============================================================================== --- lxml/trunk/src/lxml/xmlerror.pxi (original) +++ lxml/trunk/src/lxml/xmlerror.pxi Thu May 20 21:38:57 2010 @@ -591,16 +591,16 @@ reverse_dict[value] = name -class ErrorLevels: +class ErrorLevels(object): u"Libxml2 error levels" -class ErrorDomains: +class ErrorDomains(object): u"Libxml2 error domains" -class ErrorTypes: +class ErrorTypes(object): u"Libxml2 error types" -class RelaxNGErrorTypes: +class RelaxNGErrorTypes(object): u"Libxml2 RelaxNG error types" # --- BEGIN: GENERATED CONSTANTS --- From scoder at codespeak.net Wed May 26 08:28:27 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Wed, 26 May 2010 08:28:27 +0200 (CEST) Subject: [Lxml-checkins] r74760 - in lxml/trunk: . src/lxml Message-ID: <20100526062827.69743282B9C@codespeak.net> Author: scoder Date: Wed May 26 08:28:25 2010 New Revision: 74760 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/apihelpers.pxi Log: r5590 at lenny: sbehnel | 2010-05-21 18:22:31 +0200 cleanup Modified: lxml/trunk/src/lxml/apihelpers.pxi ============================================================================== --- lxml/trunk/src/lxml/apihelpers.pxi (original) +++ lxml/trunk/src/lxml/apihelpers.pxi Wed May 26 08:28:25 2010 @@ -1572,15 +1572,15 @@ Returns None if not a file object. """ # file instances have a name attribute - filename = getattr3(source, u'name', None) + filename = getattr(source, u'name', None) if filename is not None: return os_path_abspath(filename) # urllib2 provides a geturl() method - geturl = getattr3(source, u'geturl', None) + geturl = getattr(source, u'geturl', None) if geturl is not None: return geturl() # gzip file instances have a filename attribute (before Py3k) - filename = getattr3(source, u'filename', None) + filename = getattr(source, u'filename', None) if filename is not None: return os_path_abspath(filename) # can't determine filename From scoder at codespeak.net Wed May 26 08:28:30 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Wed, 26 May 2010 08:28:30 +0200 (CEST) Subject: [Lxml-checkins] r74761 - in lxml/trunk: . src/lxml/html Message-ID: <20100526062830.E25B136C230@codespeak.net> Author: scoder Date: Wed May 26 08:28:29 2010 New Revision: 74761 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/html/_diffcommand.py lxml/trunk/src/lxml/html/_html5builder.py Log: r5591 at lenny: sbehnel | 2010-05-21 18:39:43 +0200 Py3 fixes Modified: lxml/trunk/src/lxml/html/_diffcommand.py ============================================================================== --- lxml/trunk/src/lxml/html/_diffcommand.py (original) +++ lxml/trunk/src/lxml/html/_diffcommand.py Wed May 26 08:28:29 2010 @@ -34,7 +34,7 @@ if options.annotation: return annotate(options, args) if len(args) != 2: - print 'Error: you must give two files' + print('Error: you must give two files') parser.print_help() sys.exit(1) file1, file2 = args Modified: lxml/trunk/src/lxml/html/_html5builder.py ============================================================================== --- lxml/trunk/src/lxml/html/_html5builder.py (original) +++ lxml/trunk/src/lxml/html/_html5builder.py Wed May 26 08:28:29 2010 @@ -77,7 +77,7 @@ self.doctype.systemId)) buf.append('>') buf.append('') - root = html.fromstring(u''.join(buf)) + root = html.fromstring(''.join(buf)) # Append the initial comments: for comment in self.initialComments: From scoder at codespeak.net Wed May 26 08:28:34 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Wed, 26 May 2010 08:28:34 +0200 (CEST) Subject: [Lxml-checkins] r74762 - in lxml/trunk: . src/lxml Message-ID: <20100526062834.3809F282B9C@codespeak.net> Author: scoder Date: Wed May 26 08:28:32 2010 New Revision: 74762 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/apihelpers.pxi Log: r5592 at lenny: sbehnel | 2010-05-21 18:49:45 +0200 safer way to find file name of file-like objects Modified: lxml/trunk/src/lxml/apihelpers.pxi ============================================================================== --- lxml/trunk/src/lxml/apihelpers.pxi (original) +++ lxml/trunk/src/lxml/apihelpers.pxi Wed May 26 08:28:32 2010 @@ -1571,17 +1571,24 @@ Returns None if not a file object. """ - # file instances have a name attribute - filename = getattr(source, u'name', None) - if filename is not None: - return os_path_abspath(filename) # urllib2 provides a geturl() method - geturl = getattr(source, u'geturl', None) - if geturl is not None: - return geturl() + try: + return source.geturl() + except: + pass # gzip file instances have a filename attribute (before Py3k) - filename = getattr(source, u'filename', None) - if filename is not None: - return os_path_abspath(filename) + try: + filename = source.filename + if _isString(filename): + return os_path_abspath(filename) + except: + pass + # file instances have a name attribute + try: + filename = source.name + if _isString(filename): + return os_path_abspath(filename) + except: + pass # can't determine filename return None From scoder at codespeak.net Wed May 26 08:28:37 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Wed, 26 May 2010 08:28:37 +0200 (CEST) Subject: [Lxml-checkins] r74763 - lxml/trunk Message-ID: <20100526062837.D8A1E36C230@codespeak.net> Author: scoder Date: Wed May 26 08:28:36 2010 New Revision: 74763 Modified: lxml/trunk/ (props changed) lxml/trunk/setupinfo.py Log: r5593 at lenny: sbehnel | 2010-05-21 19:08:35 +0200 let Cython generate cleanup code on module unload / runtime exit Modified: lxml/trunk/setupinfo.py ============================================================================== --- lxml/trunk/setupinfo.py (original) +++ lxml/trunk/setupinfo.py Wed May 26 08:28:36 2010 @@ -58,6 +58,9 @@ if CYTHON_INSTALLED: source_extension = ".pyx" print("Building with Cython %s." % Cython.Compiler.Version.version) + + from Cython.Compiler import Options + Options.generate_cleanup_code = 3 else: print ("NOTE: Trying to build without Cython, pre-generated " "'%slxml.etree.c' needs to be available." % PACKAGE_PATH) From scoder at codespeak.net Wed May 26 08:28:40 2010 From: scoder at codespeak.net (scoder at codespeak.net) Date: Wed, 26 May 2010 08:28:40 +0200 (CEST) Subject: [Lxml-checkins] r74764 - in lxml/trunk: . src/lxml Message-ID: <20100526062840.B332936C230@codespeak.net> Author: scoder Date: Wed May 26 08:28:39 2010 New Revision: 74764 Modified: lxml/trunk/ (props changed) lxml/trunk/src/lxml/apihelpers.pxi Log: r5594 at lenny: sbehnel | 2010-05-21 19:27:57 +0200 prefer 'name' over 'filename', which is deprecated for gzip files in Py2.6 and removed in Py3 Modified: lxml/trunk/src/lxml/apihelpers.pxi ============================================================================== --- lxml/trunk/src/lxml/apihelpers.pxi (original) +++ lxml/trunk/src/lxml/apihelpers.pxi Wed May 26 08:28:39 2010 @@ -1576,16 +1576,16 @@ return source.geturl() except: pass - # gzip file instances have a filename attribute (before Py3k) + # file instances have a name attribute try: - filename = source.filename + filename = source.name if _isString(filename): return os_path_abspath(filename) except: pass - # file instances have a name attribute + # gzip file instances have a filename attribute (before Py3k) try: - filename = source.name + filename = source.filename if _isString(filename): return os_path_abspath(filename) except: