Staging
v0.5.1
https://github.com/python/cpython
Revision ba756b5a2b3d3d127420805c7aa096abc9eccd7b authored by Benjamin Peterson on 02 April 2008, 02:27:22 UTC, committed by Benjamin Peterson on 02 April 2008, 02:27:22 UTC
........
  r62095 | amaury.forgeotdarc | 2008-04-01 17:37:33 -0500 (Tue, 01 Apr 2008) | 5 lines

  Fix and enable a skipped test:
  with python 2.6, enumerating bytes yields 1-char strings, not numbers.

  Don't merge this into the py3k branch.
........
  r62099 | amaury.forgeotdarc | 2008-04-01 19:25:14 -0500 (Tue, 01 Apr 2008) | 14 lines

  Correct the apparent refleak in test_io:
  When cls is an ABCMeta, every call to isinstance(x, cls)
  records type(x) in the cls._abc_cache of cls_abc_negative_cache.
  So we clear these caches at the end of the test.

  inspect.isabstract() is not the correct test for all ABCs, because there is no @abstractmethod in io.py (why?)
  isinstance(cls, ABCMeta) would be more exact, but it fails with an infinite recursion.
  So I used a hack to determine whether a class is an ABCMeta.

  The true correction would be to turn cls._abc_cache &co into a WeakSet, as py3k does.
  But classic classes are not weak referenceable...

  Of course, this change should not be merged into the py3k branch.
........
1 parent b4febc7
Raw File
Tip revision: ba756b5a2b3d3d127420805c7aa096abc9eccd7b authored by Benjamin Peterson on 02 April 2008, 02:27:22 UTC
Blocked revisions 62095,62099 via svnmerge
Tip revision: ba756b5
__init__.py
"""Core XML support for Python.

This package contains four sub-packages:

dom -- The W3C Document Object Model.  This supports DOM Level 1 +
       Namespaces.

parsers -- Python wrappers for XML parsers (currently only supports Expat).

sax -- The Simple API for XML, developed by XML-Dev, led by David
       Megginson and ported to Python by Lars Marius Garshol.  This
       supports the SAX 2 API.

etree -- The ElementTree XML library.  This is a subset of the full
       ElementTree XML release.

"""


__all__ = ["dom", "parsers", "sax", "etree"]

# When being checked-out without options, this has the form
# "<dollar>Revision: x.y </dollar>"
# When exported using -kv, it is "x.y".
__version__ = "$Revision$".split()[-2:][0]


_MINIMUM_XMLPLUS_VERSION = (0, 8, 4)


try:
    import _xmlplus
except ImportError:
    pass
else:
    try:
        v = _xmlplus.version_info
    except AttributeError:
        # _xmlplus is too old; ignore it
        pass
    else:
        if v >= _MINIMUM_XMLPLUS_VERSION:
            import sys
            _xmlplus.__path__.extend(__path__)
            sys.modules[__name__] = _xmlplus
        else:
            del v
back to top