The following issues were found

Lib/test/test_difflib.py
105 issues
Unused variable 'first'
Error

Line: 82 Column: 9

                  def test_matching_blocks_cache(self):
        # Issue #21635
        s = difflib.SequenceMatcher(None, "abxcd", "abcd")
        first = s.get_matching_blocks()
        second = s.get_matching_blocks()
        self.assertEqual(second[0].size, 2)
        self.assertEqual(second[1].size, 2)
        self.assertEqual(second[2].size, 0)


            

Reported by Pylint.

Access to a protected member _mdiff of a client class
Error

Line: 105 Column: 18

                  def test_mdiff_catch_stop_iteration(self):
        # Issue #33224
        self.assertEqual(
            list(difflib._mdiff(["2"], ["3"], 1)),
            [((1, '\x00-2\x01'), (1, '\x00+3\x01'), True)],
        )


patch914575_from1 = """

            

Reported by Pylint.

Unused variable 'spec'
Error

Line: 299 Column: 9

              
    def test_range_format_unified(self):
        # Per the diff spec at http://www.unix.org/single_unix_specification/
        spec = '''\
           Each <range> field shall be of the form:
             %1d", <beginning line number>  if the range contains exactly one line,
           and:
            "%1d,%1d", <beginning line number>, <number of lines> otherwise.
           If a range is empty, its beginning line number shall be the number of

            

Reported by Pylint.

Access to a protected member _format_range_unified of a client class
Error

Line: 307 Column: 15

                         If a range is empty, its beginning line number shall be the number of
           the line just before the range, or 0 if the empty range starts the file.
        '''
        fmt = difflib._format_range_unified
        self.assertEqual(fmt(3,3), '3,0')
        self.assertEqual(fmt(3,4), '4')
        self.assertEqual(fmt(3,5), '4,2')
        self.assertEqual(fmt(3,6), '4,3')
        self.assertEqual(fmt(0,0), '0,0')

            

Reported by Pylint.

Unused variable 'spec'
Error

Line: 316 Column: 9

              
    def test_range_format_context(self):
        # Per the diff spec at http://www.unix.org/single_unix_specification/
        spec = '''\
           The range of lines in file1 shall be written in the following format
           if the range contains two or more lines:
               "*** %d,%d ****\n", <beginning line number>, <ending line number>
           and the following format otherwise:
               "*** %d ****\n", <ending line number>

            

Reported by Pylint.

Access to a protected member _format_range_context of a client class
Error

Line: 331 Column: 15

                         and the following format otherwise:
               "--- %d ----\n", <ending line number>
        '''
        fmt = difflib._format_range_context
        self.assertEqual(fmt(3,3), '3')
        self.assertEqual(fmt(3,4), '4')
        self.assertEqual(fmt(3,5), '4,5')
        self.assertEqual(fmt(3,6), '4,6')
        self.assertEqual(fmt(0,0), '0')

            

Reported by Pylint.

Access to a protected member _default_prefix of a client class
Error

Line: 551 Column: 5

              

def test_main():
    difflib.HtmlDiff._default_prefix = 0
    Doctests = doctest.DocTestSuite(difflib)
    run_unittest(
        TestWithAscii, TestAutojunk, TestSFpatches, TestSFbugs,
        TestOutputFormat, TestBytes, TestJunkAPIs, TestFindLongest, Doctests)


            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import difflib
from test.support import run_unittest, findfile
import unittest
import doctest
import sys


class TestWithAscii(unittest.TestCase):
    def test_one_insert(self):

            

Reported by Pylint.

Missing class docstring
Error

Line: 8 Column: 1

              import sys


class TestWithAscii(unittest.TestCase):
    def test_one_insert(self):
        sm = difflib.SequenceMatcher(None, 'b' * 100, 'a' + 'b' * 100)
        self.assertAlmostEqual(sm.ratio(), 0.995, places=3)
        self.assertEqual(list(sm.get_opcodes()),
            [   ('insert', 0, 0, 0, 1),

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 9 Column: 5

              

class TestWithAscii(unittest.TestCase):
    def test_one_insert(self):
        sm = difflib.SequenceMatcher(None, 'b' * 100, 'a' + 'b' * 100)
        self.assertAlmostEqual(sm.ratio(), 0.995, places=3)
        self.assertEqual(list(sm.get_opcodes()),
            [   ('insert', 0, 0, 0, 1),
                ('equal', 0, 100, 1, 101)])

            

Reported by Pylint.

Lib/ctypes/test/test_stringptr.py
104 issues
Unused import RTLD_LOCAL from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import string_at from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import cast from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import PYFUNCTYPE from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import memset from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import memmove from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import c_ssize_t from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import c_size_t from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import WinError from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Unused import GetLastError from wildcard import
Error

Line: 3 Column: 1

              import unittest
from test import support
from ctypes import *

import _ctypes_test

lib = CDLL(_ctypes_test.__file__)

class StringPtrTestCase(unittest.TestCase):

            

Reported by Pylint.

Lib/test/test_bool.py
104 issues
Inheriting 'bool', which is not a class.
Error

Line: 13 Column: 13

              
    def test_subclass(self):
        try:
            class C(bool):
                pass
        except TypeError:
            pass
        else:
            self.fail("bool should not be subclassable")

            

Reported by Pylint.

Argument 'builtins.bool' does not match format type 'd'
Error

Line: 168 Column: 26

                          bool(x=10)

    def test_format(self):
        self.assertEqual("%d" % False, "0")
        self.assertEqual("%d" % True, "1")
        self.assertEqual("%x" % False, "0")
        self.assertEqual("%x" % True, "1")

    def test_hasattr(self):

            

Reported by Pylint.

Argument 'builtins.bool' does not match format type 'd'
Error

Line: 169 Column: 26

              
    def test_format(self):
        self.assertEqual("%d" % False, "0")
        self.assertEqual("%d" % True, "1")
        self.assertEqual("%x" % False, "0")
        self.assertEqual("%x" % True, "1")

    def test_hasattr(self):
        self.assertIs(hasattr([], "append"), True)

            

Reported by Pylint.

Argument 'builtins.bool' does not match format type 'x'
Error

Line: 170 Column: 26

                  def test_format(self):
        self.assertEqual("%d" % False, "0")
        self.assertEqual("%d" % True, "1")
        self.assertEqual("%x" % False, "0")
        self.assertEqual("%x" % True, "1")

    def test_hasattr(self):
        self.assertIs(hasattr([], "append"), True)
        self.assertIs(hasattr([], "wobble"), False)

            

Reported by Pylint.

Argument 'builtins.bool' does not match format type 'x'
Error

Line: 171 Column: 26

                      self.assertEqual("%d" % False, "0")
        self.assertEqual("%d" % True, "1")
        self.assertEqual("%x" % False, "0")
        self.assertEqual("%x" % True, "1")

    def test_hasattr(self):
        self.assertIs(hasattr([], "append"), True)
        self.assertIs(hasattr([], "wobble"), False)


            

Reported by Pylint.

__bool__ does not return bool
Error

Line: 292 Column: 13

                      # it's related.
        check = lambda o: self.assertRaises(TypeError, bool, o)
        class Foo(object):
            def __bool__(self):
                return self
        check(Foo())

        class Bar(object):
            def __bool__(self):

            

Reported by Pylint.

__bool__ does not return bool
Error

Line: 297 Column: 13

                      check(Foo())

        class Bar(object):
            def __bool__(self):
                return "Yes"
        check(Bar())

        class Baz(int):
            def __bool__(self):

            

Reported by Pylint.

__bool__ does not return bool
Error

Line: 302 Column: 13

                      check(Bar())

        class Baz(int):
            def __bool__(self):
                return self
        check(Baz())

        # __bool__() must return a bool not an int
        class Spam(int):

            

Reported by Pylint.

__bool__ does not return bool
Error

Line: 308 Column: 13

              
        # __bool__() must return a bool not an int
        class Spam(int):
            def __bool__(self):
                return 1
        check(Spam())

        class Eggs:
            def __len__(self):

            

Reported by Pylint.

__len__ does not return non-negative integer
Error

Line: 313 Column: 13

                      check(Spam())

        class Eggs:
            def __len__(self):
                return -1
        self.assertRaises(ValueError, bool, Eggs())

    def test_from_bytes(self):
        self.assertIs(bool.from_bytes(b'\x00'*8, 'big'), False)

            

Reported by Pylint.

Lib/test/test_aifc.py
104 issues
Attribute 'f' defined outside __init__
Error

Line: 161 Column: 17

                          with self.assertRaises(aifc.Error):
                # Try opening a non-AIFC file, with the expectation that
                # `aifc.open` will fail (without raising a ResourceWarning)
                self.f = aifc.open(non_aifc_file, 'rb')

            # Aifc_write.initfp() won't raise in normal case.  But some errors
            # (e.g. MemoryError, KeyboardInterrupt, etc..) can happen.
            with mock.patch.object(aifc.Aifc_write, 'initfp',
                                   side_effect=RuntimeError):

            

Reported by Pylint.

Attribute 'fout' defined outside __init__
Error

Line: 168 Column: 21

                          with mock.patch.object(aifc.Aifc_write, 'initfp',
                                   side_effect=RuntimeError):
                with self.assertRaises(RuntimeError):
                    self.fout = aifc.open(TESTFN, 'wb')

    def test_params_added(self):
        f = self.f = aifc.open(TESTFN, 'wb')
        f.aiff()
        f.setparams((1, 1, 1, 1, b'NONE', b''))

            

Reported by Pylint.

Attribute 'f' defined outside __init__
Error

Line: 171 Column: 13

                                  self.fout = aifc.open(TESTFN, 'wb')

    def test_params_added(self):
        f = self.f = aifc.open(TESTFN, 'wb')
        f.aiff()
        f.setparams((1, 1, 1, 1, b'NONE', b''))
        f.close()

        f = aifc.open(TESTFN, 'rb')

            

Reported by Pylint.

Attribute 'fout' defined outside __init__
Error

Line: 206 Column: 16

                      fout.initfp(None)

    def test_read_markers(self):
        fout = self.fout = aifc.open(TESTFN, 'wb')
        fout.aiff()
        fout.setparams((1, 1, 1, 1, b'NONE', b''))
        fout.setmark(1, 0, b'odd')
        fout.setmark(2, 0, b'even')
        fout.writeframes(b'\x00')

            

Reported by Pylint.

Unused argument 'self'
Error

Line: 224 Column: 26

              class AIFCLowLevelTest(unittest.TestCase):

    def test_read_written(self):
        def read_written(self, what):
            f = io.BytesIO()
            getattr(aifc, '_write_' + what)(f, x)
            f.seek(0)
            return getattr(aifc, '_read_' + what)(f)
        for x in (-1, 0, 0.1, 1):

            

Reported by Pylint.

Access to a protected member _HUGE_VAL of a client class
Error

Line: 232 Column: 56

                      for x in (-1, 0, 0.1, 1):
            self.assertEqual(read_written(x, 'float'), x)
        for x in (float('NaN'), float('Inf')):
            self.assertEqual(read_written(x, 'float'), aifc._HUGE_VAL)
        for x in (b'', b'foo', b'a' * 255):
            self.assertEqual(read_written(x, 'string'), x)
        for x in (-0x7FFFFFFF, -1, 0, 1, 0x7FFFFFFF):
            self.assertEqual(read_written(x, 'long'), x)
        for x in (0, 1, 0xFFFFFFFF):

            

Reported by Pylint.

Access to a protected member _read_ulong of a client class
Error

Line: 246 Column: 37

              
    def test_read_raises(self):
        f = io.BytesIO(b'\x00')
        self.assertRaises(EOFError, aifc._read_ulong, f)
        self.assertRaises(EOFError, aifc._read_long, f)
        self.assertRaises(EOFError, aifc._read_ushort, f)
        self.assertRaises(EOFError, aifc._read_short, f)

    def test_write_long_string_raises(self):

            

Reported by Pylint.

Access to a protected member _read_long of a client class
Error

Line: 247 Column: 37

                  def test_read_raises(self):
        f = io.BytesIO(b'\x00')
        self.assertRaises(EOFError, aifc._read_ulong, f)
        self.assertRaises(EOFError, aifc._read_long, f)
        self.assertRaises(EOFError, aifc._read_ushort, f)
        self.assertRaises(EOFError, aifc._read_short, f)

    def test_write_long_string_raises(self):
        f = io.BytesIO()

            

Reported by Pylint.

Access to a protected member _read_ushort of a client class
Error

Line: 248 Column: 37

                      f = io.BytesIO(b'\x00')
        self.assertRaises(EOFError, aifc._read_ulong, f)
        self.assertRaises(EOFError, aifc._read_long, f)
        self.assertRaises(EOFError, aifc._read_ushort, f)
        self.assertRaises(EOFError, aifc._read_short, f)

    def test_write_long_string_raises(self):
        f = io.BytesIO()
        with self.assertRaises(ValueError):

            

Reported by Pylint.

Access to a protected member _read_short of a client class
Error

Line: 249 Column: 37

                      self.assertRaises(EOFError, aifc._read_ulong, f)
        self.assertRaises(EOFError, aifc._read_long, f)
        self.assertRaises(EOFError, aifc._read_ushort, f)
        self.assertRaises(EOFError, aifc._read_short, f)

    def test_write_long_string_raises(self):
        f = io.BytesIO()
        with self.assertRaises(ValueError):
            aifc._write_string(f, b'too long' * 255)

            

Reported by Pylint.

Lib/test/test_trace.py
103 issues
Argument 'self' passed by position and keyword in method call
Error

Line: 278 Column: 15

                      self.assertEqual(self.tracer.results().calledfuncs, expected)

    def test_arg_errors(self):
        res = self.tracer.runfunc(traced_capturer, 1, 2, self=3, func=4)
        self.assertEqual(res, ((1, 2), {'self': 3, 'func': 4}))
        with self.assertRaises(TypeError):
            self.tracer.runfunc(func=traced_capturer, arg=1)
        with self.assertRaises(TypeError):
            self.tracer.runfunc()

            

Reported by Pylint.

Argument 'func' passed by position and keyword in method call
Error

Line: 278 Column: 15

                      self.assertEqual(self.tracer.results().calledfuncs, expected)

    def test_arg_errors(self):
        res = self.tracer.runfunc(traced_capturer, 1, 2, self=3, func=4)
        self.assertEqual(res, ((1, 2), {'self': 3, 'func': 4}))
        with self.assertRaises(TypeError):
            self.tracer.runfunc(func=traced_capturer, arg=1)
        with self.assertRaises(TypeError):
            self.tracer.runfunc()

            

Reported by Pylint.

No value for argument 'func' in method call
Error

Line: 283 Column: 13

                      with self.assertRaises(TypeError):
            self.tracer.runfunc(func=traced_capturer, arg=1)
        with self.assertRaises(TypeError):
            self.tracer.runfunc()

    def test_loop_caller_importing(self):
        self.tracer.runfunc(traced_func_importing_caller, 1)

        expected = {

            

Reported by Pylint.

Unused variable 'i'
Error

Line: 45 Column: 9

              
def traced_func_loop(x, y):
    c = x
    for i in range(5):
        c += y
    return c

def traced_func_importing(x, y):
    return x + y + testmod.func(1)

            

Reported by Pylint.

XXX todo: later add 'static_method_linear' and 'class_method_linear'
Error

Line: 212 Column: 3

                      self.assertEqual(self.tracer.results().counts, expected)

    def test_linear_methods(self):
        # XXX todo: later add 'static_method_linear' and 'class_method_linear'
        # here, once issue1764286 is resolved
        #
        for methname in ['inst_method_linear',]:
            tracer = Trace(count=1, trace=0, countfuncs=0, countcallers=0)
            traced_obj = TracedClass(25)

            

Reported by Pylint.

Attribute 'tracer' defined outside __init__
Error

Line: 235 Column: 9

                      self.addCleanup(sys.settrace, sys.gettrace())

    def test_exec_counts(self):
        self.tracer = Trace(count=1, trace=0, countfuncs=0, countcallers=0)
        code = r'''traced_func_loop(2, 5)'''
        code = compile(code, __file__, 'exec')
        self.tracer.runctx(code, globals(), vars())

        firstlineno = get_firstlineno(traced_func_loop)

            

Reported by Pylint.

Unused variable 'stdout'
Error

Line: 383 Column: 35

                      # sys.prefix does not work when running from a checkout
        tracer = trace.Trace(ignoredirs=[sys.base_prefix, sys.base_exec_prefix,
                             libpath], trace=0, count=1)
        with captured_stdout() as stdout:
            self._coverage(tracer)
        if os.path.exists(TESTFN):
            files = os.listdir(TESTFN)
            self.assertEqual(files, ['_importlib.cover'])  # Ignore __import__


            

Reported by Pylint.

XXX This is needed to run regrtest.py as a script
Error

Line: 405 Column: 3

                      for line in stdout:
            lines, cov, module = line.split()[:3]
            coverage[module] = (int(lines), int(cov[:-1]))
        # XXX This is needed to run regrtest.py as a script
        modname = trace._fullmodname(sys.modules[modname].__file__)
        self.assertIn(modname, coverage)
        self.assertEqual(coverage[modname], (5, 100))

### Tests that don't mess with sys.settrace and can be traced

            

Reported by Pylint.

Access to a protected member _fullmodname of a client class
Error

Line: 406 Column: 19

                          lines, cov, module = line.split()[:3]
            coverage[module] = (int(lines), int(cov[:-1]))
        # XXX This is needed to run regrtest.py as a script
        modname = trace._fullmodname(sys.modules[modname].__file__)
        self.assertIn(modname, coverage)
        self.assertEqual(coverage[modname], (5, 100))

### Tests that don't mess with sys.settrace and can be traced
### themselves TODO: Skip tests that do mess with sys.settrace when

            

Reported by Pylint.

Access to a protected member _Ignore of a client class
Error

Line: 416 Column: 18

              class Test_Ignore(unittest.TestCase):
    def test_ignored(self):
        jn = os.path.join
        ignore = trace._Ignore(['x', 'y.z'], [jn('foo', 'bar')])
        self.assertTrue(ignore.names('x.py', 'x'))
        self.assertFalse(ignore.names('xy.py', 'xy'))
        self.assertFalse(ignore.names('y.py', 'y'))
        self.assertTrue(ignore.names(jn('foo', 'bar', 'baz.py'), 'baz'))
        self.assertFalse(ignore.names(jn('bar', 'z.py'), 'z'))

            

Reported by Pylint.

Lib/xml/sax/saxutils.py
103 issues
Attempted relative import beyond top-level package
Error

Line: 9 Column: 1

              import os, urllib.parse, urllib.request
import io
import codecs
from . import handler
from . import xmlreader

def __dict_replace(s, d):
    """Replace substrings of a string using a dictionary."""
    for key, value in d.items():

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 10 Column: 1

              import io
import codecs
from . import handler
from . import xmlreader

def __dict_replace(s, d):
    """Replace substrings of a string using a dictionary."""
    for key, value in d.items():
        s = s.replace(key, value)

            

Reported by Pylint.

Dangerous default value {} as argument
Error

Line: 18 Column: 1

                      s = s.replace(key, value)
    return s

def escape(data, entities={}):
    """Escape &, <, and > in a string of data.

    You can escape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.

            

Reported by Pylint.

Dangerous default value {} as argument
Error

Line: 34 Column: 1

                      data = __dict_replace(data, entities)
    return data

def unescape(data, entities={}):
    """Unescape &amp;, &lt;, and &gt; in a string of data.

    You can unescape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.

            

Reported by Pylint.

Dangerous default value {} as argument
Error

Line: 48 Column: 1

                  # must do ampersand last
    return data.replace("&amp;", "&")

def quoteattr(data, entities={}):
    """Escape and quote an attribute value.

    Escape &, <, and > in a string of data, then quote it for use as
    an attribute value.  The \" character will be escaped as well, if
    necessary.

            

Reported by Pylint.

Attribute 'close' defined outside __init__
Error

Line: 93 Column: 9

                          def __getattr__(self, name):
                return getattr(out, name)
        buffer = _wrapper()
        buffer.close = lambda: None
    else:
        # This is to handle passed objects that aren't in the
        # IOBase hierarchy, but just have a write method
        buffer = io.BufferedIOBase()
        buffer.writable = lambda: True

            

Reported by Pylint.

Unused argument 'endElement'
Error

Line: 143 Column: 44

                      # Return the unqualified name
        return name[1]

    def _finish_pending_start_element(self,endElement=False):
        if self._pending_start_element:
            self._write('>')
            self._pending_start_element = False

    # ContentHandler methods

            

Reported by Pylint.

Unused argument 'prefix'
Error

Line: 162 Column: 32

                      self._current_context[uri] = prefix
        self._undeclared_ns_maps.append((prefix, uri))

    def endPrefixMapping(self, prefix):
        self._current_context = self._ns_contexts[-1]
        del self._ns_contexts[-1]

    def startElement(self, name, attrs):
        self._finish_pending_start_element()

            

Reported by Pylint.

Unused argument 'qname'
Error

Line: 183 Column: 36

                      else:
            self._write('</%s>' % name)

    def startElementNS(self, name, qname, attrs):
        self._finish_pending_start_element()
        self._write('<' + self._qname(name))

        for prefix, uri in self._undeclared_ns_maps:
            if prefix:

            

Reported by Pylint.

Unused argument 'qname'
Error

Line: 201 Column: 34

                      else:
            self._write(">")

    def endElementNS(self, name, qname):
        if self._pending_start_element:
            self._write('/>')
            self._pending_start_element = False
        else:
            self._write('</%s>' % self._qname(name))

            

Reported by Pylint.

Lib/http/server.py
102 issues
Class 'HTTPStatus' has no '__members__' member
Error

Line: 624 Column: 18

                  # hack to maintain backwards compatibility
    responses = {
        v: (v.phrase, v.description)
        for v in HTTPStatus.__members__.values()
    }


class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):


            

Reported by Pylint.

Module 'os' has no 'waitstatus_to_exitcode' member
Error

Line: 1162 Column: 28

                              while select.select([self.rfile], [], [], 0)[0]:
                    if not self.rfile.read(1):
                        break
                exitcode = os.waitstatus_to_exitcode(sts)
                if exitcode:
                    self.log_error(f"CGI script exit code {exitcode}")
                return
            # Child
            try:

            

Reported by Pylint.

Attribute 'command' defined outside __init__
Error

Line: 280 Column: 9

                      error response has already been sent back.

        """
        self.command = None  # set in case of error on the first line
        self.request_version = version = self.default_request_version
        self.close_connection = True
        requestline = str(self.raw_requestline, 'iso-8859-1')
        requestline = requestline.rstrip('\r\n')
        self.requestline = requestline

            

Reported by Pylint.

Attribute 'request_version' defined outside __init__
Error

Line: 281 Column: 9

              
        """
        self.command = None  # set in case of error on the first line
        self.request_version = version = self.default_request_version
        self.close_connection = True
        requestline = str(self.raw_requestline, 'iso-8859-1')
        requestline = requestline.rstrip('\r\n')
        self.requestline = requestline
        words = requestline.split()

            

Reported by Pylint.

Attribute 'close_connection' defined outside __init__
Error

Line: 282 Column: 9

                      """
        self.command = None  # set in case of error on the first line
        self.request_version = version = self.default_request_version
        self.close_connection = True
        requestline = str(self.raw_requestline, 'iso-8859-1')
        requestline = requestline.rstrip('\r\n')
        self.requestline = requestline
        words = requestline.split()
        if len(words) == 0:

            

Reported by Pylint.

Attribute 'requestline' defined outside __init__
Error

Line: 285 Column: 9

                      self.close_connection = True
        requestline = str(self.raw_requestline, 'iso-8859-1')
        requestline = requestline.rstrip('\r\n')
        self.requestline = requestline
        words = requestline.split()
        if len(words) == 0:
            return False

        if len(words) >= 3:  # Enough to determine protocol version

            

Reported by Pylint.

Attribute 'close_connection' defined outside __init__
Error

Line: 312 Column: 17

                                  "Bad request version (%r)" % version)
                return False
            if version_number >= (1, 1) and self.protocol_version >= "HTTP/1.1":
                self.close_connection = False
            if version_number >= (2, 0):
                self.send_error(
                    HTTPStatus.HTTP_VERSION_NOT_SUPPORTED,
                    "Invalid HTTP version (%s)" % base_version_number)
                return False

            

Reported by Pylint.

Attribute 'request_version' defined outside __init__
Error

Line: 318 Column: 13

                                  HTTPStatus.HTTP_VERSION_NOT_SUPPORTED,
                    "Invalid HTTP version (%s)" % base_version_number)
                return False
            self.request_version = version

        if not 2 <= len(words) <= 3:
            self.send_error(
                HTTPStatus.BAD_REQUEST,
                "Bad request syntax (%r)" % requestline)

            

Reported by Pylint.

Attribute 'close_connection' defined outside __init__
Error

Line: 327 Column: 13

                          return False
        command, path = words[:2]
        if len(words) == 2:
            self.close_connection = True
            if command != 'GET':
                self.send_error(
                    HTTPStatus.BAD_REQUEST,
                    "Bad HTTP/0.9 request type (%r)" % command)
                return False

            

Reported by Pylint.

Attribute 'command' defined outside __init__
Error

Line: 333 Column: 9

                                  HTTPStatus.BAD_REQUEST,
                    "Bad HTTP/0.9 request type (%r)" % command)
                return False
        self.command, self.path = command, path

        # Examine the headers and look for a Connection directive.
        try:
            self.headers = http.client.parse_headers(self.rfile,
                                                     _class=self.MessageClass)

            

Reported by Pylint.

Lib/ctypes/test/test_anon.py
102 issues
Unused import PyDLL from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import LittleEndianStructure from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import BigEndianStructure from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import set_last_error from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import get_last_error from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import pointer from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import POINTER from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import set_errno from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import get_errno from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Unused import resize from wildcard import
Error

Line: 3 Column: 1

              import unittest
import test.support
from ctypes import *

class AnonTest(unittest.TestCase):

    def test_anon(self):
        class ANON(Union):
            _fields_ = [("a", c_int),

            

Reported by Pylint.

Lib/test/test_dictviews.py
101 issues
Instance of 'list' has no 'isdisjoint' member
Error

Line: 143 Column: 26

                      self.assertEqual(d1.keys() - set(d3.keys()), {'a', 'b'})
        self.assertEqual(d1.keys() - (0, 1), {'a', 'b'})

        self.assertFalse(d1.keys().isdisjoint(d1.keys()))
        self.assertFalse(d1.keys().isdisjoint(d2.keys()))
        self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 144 Column: 26

                      self.assertEqual(d1.keys() - (0, 1), {'a', 'b'})

        self.assertFalse(d1.keys().isdisjoint(d1.keys()))
        self.assertFalse(d1.keys().isdisjoint(d2.keys()))
        self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 145 Column: 26

              
        self.assertFalse(d1.keys().isdisjoint(d1.keys()))
        self.assertFalse(d1.keys().isdisjoint(d2.keys()))
        self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 146 Column: 26

                      self.assertFalse(d1.keys().isdisjoint(d1.keys()))
        self.assertFalse(d1.keys().isdisjoint(d2.keys()))
        self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 147 Column: 25

                      self.assertFalse(d1.keys().isdisjoint(d2.keys()))
        self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 148 Column: 25

                      self.assertFalse(d1.keys().isdisjoint(list(d2.keys())))
        self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))
        self.assertTrue(d1.keys().isdisjoint(d3.keys()))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 149 Column: 25

                      self.assertFalse(d1.keys().isdisjoint(set(d2.keys())))
        self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))
        self.assertTrue(d1.keys().isdisjoint(d3.keys()))


            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 150 Column: 25

                      self.assertTrue(d1.keys().isdisjoint({'x', 'y', 'z'}))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))
        self.assertTrue(d1.keys().isdisjoint(d3.keys()))

        de = {}

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 151 Column: 25

                      self.assertTrue(d1.keys().isdisjoint(['x', 'y', 'z']))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))
        self.assertTrue(d1.keys().isdisjoint(d3.keys()))

        de = {}
        self.assertTrue(de.keys().isdisjoint(set()))

            

Reported by Pylint.

Instance of 'list' has no 'isdisjoint' member
Error

Line: 152 Column: 25

                      self.assertTrue(d1.keys().isdisjoint(set(['x', 'y', 'z'])))
        self.assertTrue(d1.keys().isdisjoint(set(['x', 'y'])))
        self.assertTrue(d1.keys().isdisjoint(['x', 'y']))
        self.assertTrue(d1.keys().isdisjoint({}))
        self.assertTrue(d1.keys().isdisjoint(d3.keys()))

        de = {}
        self.assertTrue(de.keys().isdisjoint(set()))
        self.assertTrue(de.keys().isdisjoint([]))

            

Reported by Pylint.

Lib/lib2to3/pytree.py
101 issues
Attempted relative import beyond top-level package
Error

Line: 24 Column: 9

              def type_repr(type_num):
    global _type_reprs
    if not _type_reprs:
        from .pygram import python_symbols
        # printing tokens is possible but not as useful
        # from .pgen2 import token // token.__dict__.items():
        for name, val in python_symbols.__dict__.items():
            if type(val) == int: _type_reprs[val] = name
    return _type_reprs.setdefault(type_num, type_num)

            

Reported by Pylint.

__str__ does not return str
Error

Line: 204 Column: 9

                      return next_sib.prefix

    if sys.version_info < (3, 0):
        def __str__(self):
            return str(self).encode("ascii")

class Node(Base):

    """Concrete implementation for interior nodes."""

            

Reported by Pylint.

Instance of 'BasePattern' has no '_submatch' member
Error

Line: 471 Column: 20

                          r = None
            if results is not None:
                r = {}
            if not self._submatch(node, r):
                return False
            if r:
                results.update(r)
        if results is not None and self.name:
            results[self.name] = node

            

Reported by Pylint.

Using the global statement
Error

Line: 22 Column: 5

              
_type_reprs = {}
def type_repr(type_num):
    global _type_reprs
    if not _type_reprs:
        from .pygram import python_symbols
        # printing tokens is possible but not as useful
        # from .pgen2 import token // token.__dict__.items():
        for name, val in python_symbols.__dict__.items():

            

Reported by Pylint.

Unused argument 'args'
Error

Line: 49 Column: 1

                  was_changed = False
    was_checked = False

    def __new__(cls, *args, **kwds):
        """Constructor that prevents Base from being instantiated."""
        assert cls is not Base, "Cannot instantiate Base"
        return object.__new__(cls)

    def __eq__(self, other):

            

Reported by Pylint.

Unused argument 'kwds'
Error

Line: 49 Column: 1

                  was_changed = False
    was_checked = False

    def __new__(cls, *args, **kwds):
        """Constructor that prevents Base from being instantiated."""
        assert cls is not Base, "Cannot instantiate Base"
        return object.__new__(cls)

    def __eq__(self, other):

            

Reported by Pylint.

Redefining built-in 'type'
Error

Line: 211 Column: 23

              
    """Concrete implementation for interior nodes."""

    def __init__(self,type, children,
                 context=None,
                 prefix=None,
                 fixers_applied=None):
        """
        Initializer.

            

Reported by Pylint.

Unused argument 'context'
Error

Line: 212 Column: 18

                  """Concrete implementation for interior nodes."""

    def __init__(self,type, children,
                 context=None,
                 prefix=None,
                 fixers_applied=None):
        """
        Initializer.


            

Reported by Pylint.

Dangerous default value [] as argument
Error

Line: 326 Column: 5

                  lineno = 0    # Line where this token starts in the input
    column = 0    # Column where this token tarts in the input

    def __init__(self, type, value,
                 context=None,
                 prefix=None,
                 fixers_applied=[]):
        """
        Initializer.

            

Reported by Pylint.

Redefining built-in 'type'
Error

Line: 326 Column: 24

                  lineno = 0    # Line where this token starts in the input
    column = 0    # Column where this token tarts in the input

    def __init__(self, type, value,
                 context=None,
                 prefix=None,
                 fixers_applied=[]):
        """
        Initializer.

            

Reported by Pylint.