diff options
| author | Hugo <hugovk@users.noreply.github.com> | 2018-08-25 20:53:59 +0300 |
|---|---|---|
| committer | Hugo <hugovk@users.noreply.github.com> | 2018-08-25 20:53:59 +0300 |
| commit | beaa4eb8904b9209d75d98059b5b92b26fdfebe3 (patch) | |
| tree | ef93682f795b4771f8d569af549b8d9d1933ceb4 /src/lxml | |
| parent | 396ded1558c4ea7a3723be994c76304b7c5edff8 (diff) | |
| download | python-lxml-beaa4eb8904b9209d75d98059b5b92b26fdfebe3.tar.gz | |
Remove redundant code for Python <= 2.6
Diffstat (limited to 'src/lxml')
| -rw-r--r-- | src/lxml/apihelpers.pxi | 5 | ||||
| -rw-r--r-- | src/lxml/etree.pyx | 11 | ||||
| -rw-r--r-- | src/lxml/html/clean.py | 5 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_autolink.py | 3 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_basic.py | 3 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_clean.py | 7 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_diff.py | 5 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_feedparser_data.py | 26 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_formfill.py | 3 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_forms.py | 3 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_html5parser.py | 20 | ||||
| -rw-r--r-- | src/lxml/html/tests/test_rewritelinks.py | 3 | ||||
| -rw-r--r-- | src/lxml/includes/etree_defs.h | 9 | ||||
| -rw-r--r-- | src/lxml/python.pxd | 2 | ||||
| -rw-r--r-- | src/lxml/tests/dummy_http_server.py | 2 | ||||
| -rw-r--r-- | src/lxml/tests/test_doctestcompare.py | 3 | ||||
| -rw-r--r-- | src/lxml/tests/test_etree.py | 6 | ||||
| -rw-r--r-- | src/lxml/tests/test_external_document.py | 2 | ||||
| -rw-r--r-- | src/lxml/tests/test_http_io.py | 2 | ||||
| -rw-r--r-- | src/lxml/tests/test_io.py | 11 | ||||
| -rw-r--r-- | src/lxml/tests/test_objectify.py | 4 |
21 files changed, 39 insertions, 96 deletions
diff --git a/src/lxml/apihelpers.pxi b/src/lxml/apihelpers.pxi index eb122a21..1a99d2a7 100644 --- a/src/lxml/apihelpers.pxi +++ b/src/lxml/apihelpers.pxi @@ -247,7 +247,7 @@ cdef _iter_nsmap(nsmap): if len(nsmap) <= 1: return nsmap.items() # nsmap will usually be a plain unordered dict => avoid type checking overhead - if OrderedDict is not None and type(nsmap) is not dict and isinstance(nsmap, OrderedDict): + if type(nsmap) is not dict and isinstance(nsmap, OrderedDict): return nsmap.items() # keep existing order if None not in nsmap: return sorted(nsmap.items()) @@ -273,8 +273,7 @@ cdef _iter_attrib(attrib): # attrib will usually be a plain unordered dict if type(attrib) is dict: return sorted(attrib.items()) - elif isinstance(attrib, _Attrib) or ( - OrderedDict is not None and isinstance(attrib, OrderedDict)): + elif isinstance(attrib, _Attrib) or (isinstance(attrib, OrderedDict)): return attrib.items() else: # assume it's an unordered mapping of some kind diff --git a/src/lxml/etree.pyx b/src/lxml/etree.pyx index acea9d20..59aeb487 100644 --- a/src/lxml/etree.pyx +++ b/src/lxml/etree.pyx @@ -66,10 +66,7 @@ cdef object BytesIO, StringIO from io import BytesIO, StringIO cdef object OrderedDict = None -try: - from collections import OrderedDict -except ImportError: - pass +from collections import OrderedDict cdef object _elementpath from lxml import _elementpath @@ -91,7 +88,7 @@ cdef object ITER_EMPTY = iter(()) try: from collections.abc import MutableMapping # Py3.3+ except ImportError: - from collections import MutableMapping # Py2.6+ + from collections import MutableMapping # Py2.7 class _ImmutableMapping(MutableMapping): def __getitem__(self, key): @@ -3437,7 +3434,6 @@ def adopt_external_document(capsule, _BaseParser parser=None): This allows external libraries to build XML/HTML trees using libxml2 and then pass them efficiently into lxml for further processing. - Requires Python 2.7 or later. If a ``parser`` is provided, it will be used for configuring the lxml document. No parsing will be done. @@ -3461,9 +3457,6 @@ def adopt_external_document(capsule, _BaseParser parser=None): If no copy is made, later modifications of the tree outside of lxml should not be attempted after transferring the ownership. """ - if python.PY_VERSION_HEX < 0x02070000: - raise NotImplementedError("PyCapsule usage requires Python 2.7+") - cdef xmlDoc* c_doc cdef bint is_owned = False c_doc = <xmlDoc*> python.lxml_unpack_xmldoc_capsule(capsule, &is_owned) diff --git a/src/lxml/html/clean.py b/src/lxml/html/clean.py index adc3f450..f9570449 100644 --- a/src/lxml/html/clean.py +++ b/src/lxml/html/clean.py @@ -27,11 +27,6 @@ except NameError: # Python 3 unicode = str try: - bytes -except NameError: - # Python < 2.6 - bytes = str -try: basestring except NameError: basestring = (str, bytes) diff --git a/src/lxml/html/tests/test_autolink.py b/src/lxml/html/tests/test_autolink.py index 61b474ce..77ba8ae1 100644 --- a/src/lxml/html/tests/test_autolink.py +++ b/src/lxml/html/tests/test_autolink.py @@ -3,8 +3,7 @@ from lxml.tests.common_imports import make_doctest def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_autolink.txt')]) + suite.addTests([make_doctest('test_autolink.txt')]) return suite if __name__ == '__main__': diff --git a/src/lxml/html/tests/test_basic.py b/src/lxml/html/tests/test_basic.py index fd4896a7..4f8214f3 100644 --- a/src/lxml/html/tests/test_basic.py +++ b/src/lxml/html/tests/test_basic.py @@ -4,8 +4,7 @@ import lxml.html def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_basic.txt')]) + suite.addTests([make_doctest('test_basic.txt')]) suite.addTests([doctest.DocTestSuite(lxml.html)]) return suite diff --git a/src/lxml/html/tests/test_clean.py b/src/lxml/html/tests/test_clean.py index 3bcaaf5a..a8187219 100644 --- a/src/lxml/html/tests/test_clean.py +++ b/src/lxml/html/tests/test_clean.py @@ -72,9 +72,8 @@ class CleanerTest(unittest.TestCase): def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_clean.txt')]) - if LIBXML_VERSION >= (2,6,31): - suite.addTests([make_doctest('test_clean_embed.txt')]) + suite.addTests([make_doctest('test_clean.txt')]) + if LIBXML_VERSION >= (2,6,31): + suite.addTests([make_doctest('test_clean_embed.txt')]) suite.addTests(unittest.makeSuite(CleanerTest)) return suite diff --git a/src/lxml/html/tests/test_diff.py b/src/lxml/html/tests/test_diff.py index f1fba4bc..4b279e96 100644 --- a/src/lxml/html/tests/test_diff.py +++ b/src/lxml/html/tests/test_diff.py @@ -5,9 +5,8 @@ from lxml.html import diff def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_diff.txt'), - doctest.DocTestSuite(diff)]) + suite.addTests([make_doctest('test_diff.txt'), + doctest.DocTestSuite(diff)]) return suite if __name__ == '__main__': diff --git a/src/lxml/html/tests/test_feedparser_data.py b/src/lxml/html/tests/test_feedparser_data.py index eaf8c29e..ebf3462d 100644 --- a/src/lxml/html/tests/test_feedparser_data.py +++ b/src/lxml/html/tests/test_feedparser_data.py @@ -8,8 +8,7 @@ except ImportError: from email import message_from_file as Message import unittest from lxml.tests.common_imports import doctest -if sys.version_info >= (2,4): - from lxml.doctestcompare import LHTMLOutputChecker +from lxml.doctestcompare import LHTMLOutputChecker from lxml.html.clean import clean, Cleaner @@ -83,16 +82,15 @@ class FeedTestCase(unittest.TestCase): def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - for dir in feed_dirs: - for fn in os.listdir(dir): - fn = os.path.join(dir, fn) - if fn.endswith('.data'): - case = FeedTestCase(fn) - suite.addTests([case]) - # This is my lazy way of stopping on first error: - try: - case.runTest() - except: - break + for dir in feed_dirs: + for fn in os.listdir(dir): + fn = os.path.join(dir, fn) + if fn.endswith('.data'): + case = FeedTestCase(fn) + suite.addTests([case]) + # This is my lazy way of stopping on first error: + try: + case.runTest() + except: + break return suite diff --git a/src/lxml/html/tests/test_formfill.py b/src/lxml/html/tests/test_formfill.py index 7893c20b..8e7e9cfa 100644 --- a/src/lxml/html/tests/test_formfill.py +++ b/src/lxml/html/tests/test_formfill.py @@ -3,6 +3,5 @@ from lxml.tests.common_imports import make_doctest def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_formfill.txt')]) + suite.addTests([make_doctest('test_formfill.txt')]) return suite diff --git a/src/lxml/html/tests/test_forms.py b/src/lxml/html/tests/test_forms.py index e8b00c4d..2ad107e2 100644 --- a/src/lxml/html/tests/test_forms.py +++ b/src/lxml/html/tests/test_forms.py @@ -3,8 +3,7 @@ from lxml.tests.common_imports import make_doctest def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_forms.txt')]) + suite.addTests([make_doctest('test_forms.txt')]) return suite if __name__ == '__main__': diff --git a/src/lxml/html/tests/test_html5parser.py b/src/lxml/html/tests/test_html5parser.py index 6a4eba57..8d703a14 100644 --- a/src/lxml/html/tests/test_html5parser.py +++ b/src/lxml/html/tests/test_html5parser.py @@ -7,23 +7,9 @@ except ImportError: # python 3 import sys import tempfile import unittest -try: - from unittest import skipUnless -except ImportError: - # sys.version < (2, 7) - def skipUnless(condition, reason): - return lambda f: condition and f or None - -if sys.version_info < (2,6): - class NamedTemporaryFile(object): - def __init__(self, delete=True, **kwargs): - self._tmpfile = tempfile.NamedTemporaryFile(**kwargs) - def close(self): - self._tmpfile.flush() - def __getattr__(self, name): - return getattr(self._tmpfile, name) -else: - NamedTemporaryFile = tempfile.NamedTemporaryFile +from unittest import skipUnless + +NamedTemporaryFile = tempfile.NamedTemporaryFile from lxml.builder import ElementMaker from lxml.etree import Element, ElementTree, ParserError diff --git a/src/lxml/html/tests/test_rewritelinks.py b/src/lxml/html/tests/test_rewritelinks.py index b4653234..c7b86257 100644 --- a/src/lxml/html/tests/test_rewritelinks.py +++ b/src/lxml/html/tests/test_rewritelinks.py @@ -3,8 +3,7 @@ from lxml.tests.common_imports import make_doctest def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([make_doctest('test_rewritelinks.txt')]) + suite.addTests([make_doctest('test_rewritelinks.txt')]) return suite if __name__ == '__main__': diff --git a/src/lxml/includes/etree_defs.h b/src/lxml/includes/etree_defs.h index f935a79e..ccf35a59 100644 --- a/src/lxml/includes/etree_defs.h +++ b/src/lxml/includes/etree_defs.h @@ -6,8 +6,8 @@ #ifndef PY_VERSION_HEX # error the development package of Python (header files etc.) is not installed correctly #else -# if PY_VERSION_HEX < 0x02060000 || PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x03020000 -# error this version of lxml requires Python 2.6, 2.7, 3.2 or later +# if PY_VERSION_HEX < 0x02070000 || PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x03030000 +# error this version of lxml requires Python 2.7, 3.3 or later # endif #endif @@ -262,8 +262,6 @@ long _ftol2( double dblSource ) { return _ftol( dblSource ); } (((c_node)->ns == 0) ? 0 : ((c_node)->ns->href)) -/* PyCapsule was added in Py2.7 */ -#if PY_VERSION_HEX >= 0x02070000 #include "string.h" static void* lxml_unpack_xmldoc_capsule(PyObject* capsule, int* is_owned) { xmlDoc *c_doc; @@ -301,9 +299,6 @@ static void* lxml_unpack_xmldoc_capsule(PyObject* capsule, int* is_owned) { } return c_doc; } -#else -# define lxml_unpack_xmldoc_capsule(capsule, is_owned) ((((void)capsule, 0) || ((void)is_owned, 0)) ? NULL : NULL) -#endif /* Macro pair implementation of a depth first tree walker * diff --git a/src/lxml/python.pxd b/src/lxml/python.pxd index 5eb9271c..0d26cdd5 100644 --- a/src/lxml/python.pxd +++ b/src/lxml/python.pxd @@ -29,7 +29,7 @@ cdef extern from "Python.h": char* encoding, char* errors) cdef cython.unicode PyUnicode_DecodeUTF8(char* s, Py_ssize_t size, char* errors) cdef cython.unicode PyUnicode_DecodeLatin1(char* s, Py_ssize_t size, char* errors) - cdef object PyUnicode_RichCompare(object o1, object o2, int op) # not in Py2.4 + cdef object PyUnicode_RichCompare(object o1, object o2, int op) cdef bytes PyUnicode_AsUTF8String(object ustring) cdef bytes PyUnicode_AsASCIIString(object ustring) cdef char* PyUnicode_AS_DATA(object ustring) diff --git a/src/lxml/tests/dummy_http_server.py b/src/lxml/tests/dummy_http_server.py index b92c5a5f..70ef8d6a 100644 --- a/src/lxml/tests/dummy_http_server.py +++ b/src/lxml/tests/dummy_http_server.py @@ -1,5 +1,5 @@ """ -Simple HTTP request dumper for tests in Python 2.5+. +Simple HTTP request dumper for tests. """ import sys diff --git a/src/lxml/tests/test_doctestcompare.py b/src/lxml/tests/test_doctestcompare.py index 44179d91..e3cc2ab6 100644 --- a/src/lxml/tests/test_doctestcompare.py +++ b/src/lxml/tests/test_doctestcompare.py @@ -123,8 +123,7 @@ class DoctestCompareTest(HelperTestCase): def test_suite(): suite = unittest.TestSuite() - if sys.version_info >= (2,4): - suite.addTests([unittest.makeSuite(DoctestCompareTest)]) + suite.addTests([unittest.makeSuite(DoctestCompareTest)]) return suite diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py index 89f77eba..79daa24a 100644 --- a/src/lxml/tests/test_etree.py +++ b/src/lxml/tests/test_etree.py @@ -4613,10 +4613,8 @@ def test_suite(): suite.addTests(doctest.DocTestSuite(etree)) suite.addTests( [make_doctest('../../../doc/tutorial.txt')]) - if sys.version_info >= (2,6): - # now requires the 'with' statement - suite.addTests( - [make_doctest('../../../doc/api.txt')]) + suite.addTests( + [make_doctest('../../../doc/api.txt')]) suite.addTests( [make_doctest('../../../doc/FAQ.txt')]) suite.addTests( diff --git a/src/lxml/tests/test_external_document.py b/src/lxml/tests/test_external_document.py index d28328a3..b0dd3f2f 100644 --- a/src/lxml/tests/test_external_document.py +++ b/src/lxml/tests/test_external_document.py @@ -14,8 +14,6 @@ DOC_NAME = b'libxml2:xmlDoc' DESTRUCTOR_NAME = b'destructor:xmlFreeDoc' -@skipIf(sys.version_info[:2] < (2, 7), - 'Not supported for python < 2.7') class ExternalDocumentTestCase(HelperTestCase): def setUp(self): import ctypes diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py index 2e62626e..d058fad2 100644 --- a/src/lxml/tests/test_http_io.py +++ b/src/lxml/tests/test_http_io.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """ -Web IO test cases that need Python 2.5+ (wsgiref) +Web IO test cases (wsgiref) """ from __future__ import with_statement diff --git a/src/lxml/tests/test_io.py b/src/lxml/tests/test_io.py index 06199875..bafa196d 100644 --- a/src/lxml/tests/test_io.py +++ b/src/lxml/tests/test_io.py @@ -15,16 +15,7 @@ from common_imports import etree, ElementTree, _str, _bytes from common_imports import SillyFileLike, LargeFileLike, HelperTestCase from common_imports import read_file, write_to_file, BytesIO -if sys.version_info < (2,6): - class NamedTemporaryFile(object): - def __init__(self, delete=True, **kwargs): - self._tmpfile = tempfile.NamedTemporaryFile(**kwargs) - def close(self): - self._tmpfile.flush() - def __getattr__(self, name): - return getattr(self._tmpfile, name) -else: - NamedTemporaryFile = tempfile.NamedTemporaryFile +NamedTemporaryFile = tempfile.NamedTemporaryFile class _IOTestCaseBase(HelperTestCase): diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py index 68b9d7a8..71c194bb 100644 --- a/src/lxml/tests/test_objectify.py +++ b/src/lxml/tests/test_objectify.py @@ -2621,9 +2621,7 @@ def test_suite(): suite = unittest.TestSuite() suite.addTests([unittest.makeSuite(ObjectifyTestCase)]) suite.addTests(doctest.DocTestSuite(objectify)) - if sys.version_info >= (2,4): - suite.addTests( - [make_doctest('../../../doc/objectify.txt')]) + suite.addTests([make_doctest('../../../doc/objectify.txt')]) return suite if __name__ == '__main__': |
