The following issues were found

Lib/warnings.py
72 issues
Cannot import 'traceback' due to syntax error 'invalid syntax (<unknown>, line 576)'
Error

Line: 492 Column: 1

                      f"coroutine '{coro.__qualname__}' was never awaited\n"
    ]
    if coro.cr_origin is not None:
        import linecache, traceback
        def extract():
            for filename, lineno, funcname in reversed(coro.cr_origin):
                line = linecache.getline(filename, lineno)
                yield (filename, lineno, funcname, line)
        msg_lines.append("Coroutine created at (most recent call last)\n")

            

Reported by Pylint.

Catching too general exception Exception
Error

Line: 43 Column: 16

                      try:
            import linecache
            line = linecache.getline(msg.filename, msg.lineno)
        except Exception:
            # When a warning is logged during Python shutdown, linecache
            # and the import machinery don't work anymore
            line = None
            linecache = None
    else:

            

Reported by Pylint.

Catching too general exception Exception
Error

Line: 59 Column: 16

                          import tracemalloc
        # Logging a warning should not raise a new exception:
        # catch Exception, not only ImportError and RecursionError.
        except Exception:
            # don't suggest to enable tracemalloc if it's not available
            tracing = True
            tb = None
        else:
            tracing = tracemalloc.is_tracing()

            

Reported by Pylint.

Catching too general exception Exception
Error

Line: 67 Column: 20

                          tracing = tracemalloc.is_tracing()
            try:
                tb = tracemalloc.get_object_traceback(msg.source)
            except Exception:
                # When a warning is logged during Python shutdown, tracemalloc
                # and the import machinery don't work anymore
                tb = None

        if tb is not None:

            

Reported by Pylint.

Catching too general exception Exception
Error

Line: 83 Column: 24

                                      line = linecache.getline(frame.filename, frame.lineno)
                    else:
                        line = None
                except Exception:
                    line = None
                if line:
                    line = line.strip()
                    s += '    %s\n' % line
        elif not tracing:

            

Reported by Pylint.

Unnecessary pass statement
Error

Line: 202 Column: 5

              
class _OptionError(Exception):
    """Exception used by option processing helpers."""
    pass

# Helper to process -W options passed via sys.warnoptions
def _processoptions(args):
    for arg in args:
        try:

            

Reported by Pylint.

Access to a protected member _getframe of a client class
Error

Line: 300 Column: 50

                                      "not '{:s}'".format(type(category).__name__))
    # Get context information
    try:
        if stacklevel <= 1 or _is_internal_frame(sys._getframe(1)):
            # If frame is too small to care or if the warning originated in
            # internal code, then do not try to hide any frames.
            frame = sys._getframe(stacklevel)
        else:
            frame = sys._getframe(1)

            

Reported by Pylint.

Access to a protected member _getframe of a client class
Error

Line: 303 Column: 21

                      if stacklevel <= 1 or _is_internal_frame(sys._getframe(1)):
            # If frame is too small to care or if the warning originated in
            # internal code, then do not try to hide any frames.
            frame = sys._getframe(stacklevel)
        else:
            frame = sys._getframe(1)
            # Look for one frame less since the above line starts us off.
            for x in range(stacklevel-1):
                frame = _next_external_frame(frame)

            

Reported by Pylint.

Access to a protected member _getframe of a client class
Error

Line: 305 Column: 21

                          # internal code, then do not try to hide any frames.
            frame = sys._getframe(stacklevel)
        else:
            frame = sys._getframe(1)
            # Look for one frame less since the above line starts us off.
            for x in range(stacklevel-1):
                frame = _next_external_frame(frame)
                if frame is None:
                    raise ValueError

            

Reported by Pylint.

Unused variable 'x'
Error

Line: 307 Column: 17

                      else:
            frame = sys._getframe(1)
            # Look for one frame less since the above line starts us off.
            for x in range(stacklevel-1):
                frame = _next_external_frame(frame)
                if frame is None:
                    raise ValueError
    except ValueError:
        globals = sys.__dict__

            

Reported by Pylint.

Lib/test/libregrtest/main.py
72 issues
Starting a process with a shell, possible injection detected, security issue.
Security injection

Line: 556
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b605_start_process_with_a_shell.html

                      print("Tests result: %s" % self.get_tests_result())

        if self.ns.runleaks:
            os.system("leaks %d" % os.getpid())

    def save_xml_result(self):
        if not self.ns.xmlpath and not self.testsuite_xml:
            return


            

Reported by Bandit.

Instance of 'Namespace' has no 'xmlpath' member
Error

Line: 175 Column: 12

                  def parse_args(self, kwargs):
        ns = _parse_args(sys.argv[1:], **kwargs)

        if ns.xmlpath:
            support.junit_xml_list = self.testsuite_xml = []

        worker_args = ns.worker_args
        if worker_args is not None:
            from test.libregrtest.runtest_mp import parse_worker_args

            

Reported by Pylint.

Attempting to unpack a non-sequence defined at line 159 of test.libregrtest.cmdline
Error

Line: 189 Column: 13

                      removepy(ns.args)

        if ns.huntrleaks:
            warmup, repetitions, _ = ns.huntrleaks
            if warmup < 1 or repetitions < 1:
                msg = ("Invalid values for the --huntrleaks/-R parameters. The "
                       "number of warmups and repetitions must be at least 1 "
                       "each (1:1).")
                print(msg, file=sys.stderr, flush=True)

            

Reported by Pylint.

Instance of 'Namespace' has no 'start' member
Error

Line: 262 Column: 12

                              pass

        # Remove all the selected tests that precede start if it's set.
        if self.ns.start:
            try:
                del self.selected[:self.selected.index(self.ns.start)]
            except ValueError:
                print("Couldn't find starting test (%s), using all tests"
                      % self.ns.start, file=sys.stderr)

            

Reported by Pylint.

Instance of 'Namespace' has no 'start' member
Error

Line: 264 Column: 56

                      # Remove all the selected tests that precede start if it's set.
        if self.ns.start:
            try:
                del self.selected[:self.selected.index(self.ns.start)]
            except ValueError:
                print("Couldn't find starting test (%s), using all tests"
                      % self.ns.start, file=sys.stderr)

        if self.ns.randomize:

            

Reported by Pylint.

Instance of 'Namespace' has no 'start' member
Error

Line: 267 Column: 25

                              del self.selected[:self.selected.index(self.ns.start)]
            except ValueError:
                print("Couldn't find starting test (%s), using all tests"
                      % self.ns.start, file=sys.stderr)

        if self.ns.randomize:
            if self.ns.random_seed is None:
                self.ns.random_seed = random.randrange(10000000)
            random.seed(self.ns.random_seed)

            

Reported by Pylint.

Module 'test.support' has no 'unload' member
Error

Line: 454 Column: 21

                          # Unload the newly imported modules (best effort finalization)
            for module in sys.modules.keys():
                if module not in save_modules and module.startswith("test."):
                    support.unload(module)

            if self.ns.failfast and is_failed(result, self.ns):
                break

        if previous_test:

            

Reported by Pylint.

Attempting to unpack a non-sequence defined at line 159 of test.libregrtest.cmdline
Error

Line: 513 Column: 13

                          self.display_header()

        if self.ns.huntrleaks:
            warmup, repetitions, _ = self.ns.huntrleaks
            if warmup < 3:
                msg = ("WARNING: Running tests with --huntrleaks/-R and less than "
                        "3 warmup repetitions can give false positives!")
                print(msg, file=sys.stdout, flush=True)


            

Reported by Pylint.

Instance of 'Namespace' has no 'xmlpath' member
Error

Line: 559 Column: 16

                          os.system("leaks %d" % os.getpid())

    def save_xml_result(self):
        if not self.ns.xmlpath and not self.testsuite_xml:
            return

        import xml.etree.ElementTree as ET
        root = ET.Element("testsuites")


            

Reported by Pylint.

Instance of 'Namespace' has no 'xmlpath' member
Error

Line: 578 Column: 52

                      for k, v in totals.items():
            root.set(k, str(v))

        xmlpath = os.path.join(os_helper.SAVEDCWD, self.ns.xmlpath)
        with open(xmlpath, 'wb') as f:
            for s in ET.tostringlist(root):
                f.write(s)

    def set_temp_dir(self):

            

Reported by Pylint.

Lib/idlelib/idle_test/test_text.py
71 issues
Unable to import '_tkinter'
Error

Line: 7 Column: 1

              '''
import unittest
from test.support import requires
from _tkinter import TclError

class TextTest(object):
    "Define items common to both sets of tests."

    hw = 'hello\nworld'  # Several tests insert this after initialization.

            

Reported by Pylint.

Instance of 'TextTest' has no 'assertEqual' member
Error

Line: 19 Column: 9

                  # setUp defines self.text from Text and maybe root.

    def test_init(self):
        self.assertEqual(self.text.get('1.0'), '\n')
        self.assertEqual(self.text.get('end'), '')

    def test_index_empty(self):
        index = self.text.index


            

Reported by Pylint.

Instance of 'TextTest' has no 'text' member
Error

Line: 19 Column: 26

                  # setUp defines self.text from Text and maybe root.

    def test_init(self):
        self.assertEqual(self.text.get('1.0'), '\n')
        self.assertEqual(self.text.get('end'), '')

    def test_index_empty(self):
        index = self.text.index


            

Reported by Pylint.

Instance of 'TextTest' has no 'assertEqual' member
Error

Line: 20 Column: 9

              
    def test_init(self):
        self.assertEqual(self.text.get('1.0'), '\n')
        self.assertEqual(self.text.get('end'), '')

    def test_index_empty(self):
        index = self.text.index

        for dex in (-1.0, 0.3, '1.-1', '1.0', '1.0 lineend', '1.end', '1.33',

            

Reported by Pylint.

Instance of 'TextTest' has no 'text' member
Error

Line: 20 Column: 26

              
    def test_init(self):
        self.assertEqual(self.text.get('1.0'), '\n')
        self.assertEqual(self.text.get('end'), '')

    def test_index_empty(self):
        index = self.text.index

        for dex in (-1.0, 0.3, '1.-1', '1.0', '1.0 lineend', '1.end', '1.33',

            

Reported by Pylint.

Instance of 'TextTest' has no 'text' member
Error

Line: 23 Column: 17

                      self.assertEqual(self.text.get('end'), '')

    def test_index_empty(self):
        index = self.text.index

        for dex in (-1.0, 0.3, '1.-1', '1.0', '1.0 lineend', '1.end', '1.33',
                'insert'):
            self.assertEqual(index(dex), '1.0')


            

Reported by Pylint.

Instance of 'TextTest' has no 'assertEqual' member
Error

Line: 27 Column: 13

              
        for dex in (-1.0, 0.3, '1.-1', '1.0', '1.0 lineend', '1.end', '1.33',
                'insert'):
            self.assertEqual(index(dex), '1.0')

        for dex in 'end', 2.0, '2.1', '33.44':
            self.assertEqual(index(dex), '2.0')

    def test_index_data(self):

            

Reported by Pylint.

Instance of 'TextTest' has no 'assertEqual' member
Error

Line: 30 Column: 13

                          self.assertEqual(index(dex), '1.0')

        for dex in 'end', 2.0, '2.1', '33.44':
            self.assertEqual(index(dex), '2.0')

    def test_index_data(self):
        index = self.text.index
        self.text.insert('1.0', self.hw)


            

Reported by Pylint.

Instance of 'TextTest' has no 'text' member
Error

Line: 33 Column: 17

                          self.assertEqual(index(dex), '2.0')

    def test_index_data(self):
        index = self.text.index
        self.text.insert('1.0', self.hw)

        for dex in -1.0, 0.3, '1.-1', '1.0':
            self.assertEqual(index(dex), '1.0')


            

Reported by Pylint.

Instance of 'TextTest' has no 'text' member
Error

Line: 34 Column: 9

              
    def test_index_data(self):
        index = self.text.index
        self.text.insert('1.0', self.hw)

        for dex in -1.0, 0.3, '1.-1', '1.0':
            self.assertEqual(index(dex), '1.0')

        for dex in '1.0 lineend', '1.end', '1.33':

            

Reported by Pylint.

Lib/turtledemo/peace.py
70 issues
Undefined variable 'reset'
Error

Line: 19 Column: 5

                                 "seagreen4", "orchid4",
                   "royalblue1", "dodgerblue4")

    reset()
    Screen()
    up()
    goto(-320,-195)
    width(70)


            

Reported by Pylint.

Undefined variable 'up'
Error

Line: 21 Column: 5

              
    reset()
    Screen()
    up()
    goto(-320,-195)
    width(70)

    for pcolor in peacecolors:
        color(pcolor)

            

Reported by Pylint.

Undefined variable 'goto'
Error

Line: 22 Column: 5

                  reset()
    Screen()
    up()
    goto(-320,-195)
    width(70)

    for pcolor in peacecolors:
        color(pcolor)
        down()

            

Reported by Pylint.

Undefined variable 'width'
Error

Line: 23 Column: 5

                  Screen()
    up()
    goto(-320,-195)
    width(70)

    for pcolor in peacecolors:
        color(pcolor)
        down()
        forward(640)

            

Reported by Pylint.

Undefined variable 'color'
Error

Line: 26 Column: 9

                  width(70)

    for pcolor in peacecolors:
        color(pcolor)
        down()
        forward(640)
        up()
        backward(640)
        left(90)

            

Reported by Pylint.

Undefined variable 'down'
Error

Line: 27 Column: 9

              
    for pcolor in peacecolors:
        color(pcolor)
        down()
        forward(640)
        up()
        backward(640)
        left(90)
        forward(66)

            

Reported by Pylint.

Undefined variable 'forward'
Error

Line: 28 Column: 9

                  for pcolor in peacecolors:
        color(pcolor)
        down()
        forward(640)
        up()
        backward(640)
        left(90)
        forward(66)
        right(90)

            

Reported by Pylint.

Undefined variable 'up'
Error

Line: 29 Column: 9

                      color(pcolor)
        down()
        forward(640)
        up()
        backward(640)
        left(90)
        forward(66)
        right(90)


            

Reported by Pylint.

Undefined variable 'backward'
Error

Line: 30 Column: 9

                      down()
        forward(640)
        up()
        backward(640)
        left(90)
        forward(66)
        right(90)

    width(25)

            

Reported by Pylint.

Undefined variable 'left'
Error

Line: 31 Column: 9

                      forward(640)
        up()
        backward(640)
        left(90)
        forward(66)
        right(90)

    width(25)
    color("white")

            

Reported by Pylint.

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

Line: 4 Column: 1

              """An XML Reader is the SAX 2 name for an XML parser. XML Parsers
should be based on this code. """

from . import handler

from ._exceptions import SAXNotSupportedException, SAXNotRecognizedException


# ===== XMLREADER =====

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 6 Column: 1

              
from . import handler

from ._exceptions import SAXNotSupportedException, SAXNotRecognizedException


# ===== XMLREADER =====

class XMLReader:

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 116 Column: 9

                      XMLReader.__init__(self)

    def parse(self, source):
        from . import saxutils
        source = saxutils.prepare_input_source(source)

        self.prepareParser(source)
        file = source.getCharacterStream()
        if file is None:

            

Reported by Pylint.

Redefining name 'handler' from outer scope (line 4)
Error

Line: 38 Column: 33

                      "Returns the current ContentHandler."
        return self._cont_handler

    def setContentHandler(self, handler):
        "Registers a new object to receive document content events."
        self._cont_handler = handler

    def getDTDHandler(self):
        "Returns the current DTD handler."

            

Reported by Pylint.

Redefining name 'handler' from outer scope (line 4)
Error

Line: 46 Column: 29

                      "Returns the current DTD handler."
        return self._dtd_handler

    def setDTDHandler(self, handler):
        "Register an object to receive basic DTD-related events."
        self._dtd_handler = handler

    def getEntityResolver(self):
        "Returns the current EntityResolver."

            

Reported by Pylint.

Redefining name 'handler' from outer scope (line 4)
Error

Line: 62 Column: 31

                      "Returns the current ErrorHandler."
        return self._err_handler

    def setErrorHandler(self, handler):
        "Register an object to receive error-message events."
        self._err_handler = handler

    def setLocale(self, locale):
        """Allow an application to set the locale for errors and warnings.

            

Reported by Pylint.

Unused argument 'name'
Error

Line: 289 Column: 23

                  def getLength(self):
        return len(self._attrs)

    def getType(self, name):
        return "CDATA"

    def getValue(self, name):
        return self._attrs[name]


            

Reported by Pylint.

__init__ method from base class 'AttributesImpl' is not called
Error

Line: 342 Column: 5

              
class AttributesNSImpl(AttributesImpl):

    def __init__(self, attrs, qnames):
        """NS-aware implementation.

        attrs should be of the form {(ns_uri, lname): value, ...}.
        qnames of the form {(ns_uri, lname): qname, ...}."""
        self._attrs = attrs

            

Reported by Pylint.

Method name "getContentHandler" doesn't conform to snake_case naming style
Error

Line: 34 Column: 5

                      "Parse an XML document from a system identifier or an InputSource."
        raise NotImplementedError("This method must be implemented!")

    def getContentHandler(self):
        "Returns the current ContentHandler."
        return self._cont_handler

    def setContentHandler(self, handler):
        "Registers a new object to receive document content events."

            

Reported by Pylint.

Method name "setContentHandler" doesn't conform to snake_case naming style
Error

Line: 38 Column: 5

                      "Returns the current ContentHandler."
        return self._cont_handler

    def setContentHandler(self, handler):
        "Registers a new object to receive document content events."
        self._cont_handler = handler

    def getDTDHandler(self):
        "Returns the current DTD handler."

            

Reported by Pylint.

Lib/test/test_shelve.py
70 issues
Too many positional arguments for constructor call
Error

Line: 42 Column: 16

                      return list(self.iterkeys())

    def copy(self):
        return byteskeydict(self.d)


class TestCase(unittest.TestCase):

    fn = "shelftemp.db"

            

Reported by Pylint.

Instance of 'TestShelveBase' has no '_in_mem' member
Error

Line: 179 Column: 12

                  def _reference(self):
        return {"key1":"value1", "key2":2, "key3":(1,2,3)}
    def _empty_mapping(self):
        if self._in_mem:
            x= shelve.Shelf(byteskeydict(), **self._args)
        else:
            self.counter+=1
            x= shelve.open(self.fn+str(self.counter), **self._args)
        self._db.append(x)

            

Reported by Pylint.

Instance of 'TestShelveBase' has no '_args' member
Error

Line: 180 Column: 47

                      return {"key1":"value1", "key2":2, "key3":(1,2,3)}
    def _empty_mapping(self):
        if self._in_mem:
            x= shelve.Shelf(byteskeydict(), **self._args)
        else:
            self.counter+=1
            x= shelve.open(self.fn+str(self.counter), **self._args)
        self._db.append(x)
        return x

            

Reported by Pylint.

Instance of 'TestShelveBase' has no '_args' member
Error

Line: 183 Column: 57

                          x= shelve.Shelf(byteskeydict(), **self._args)
        else:
            self.counter+=1
            x= shelve.open(self.fn+str(self.counter), **self._args)
        self._db.append(x)
        return x
    def tearDown(self):
        for db in self._db:
            db.close()

            

Reported by Pylint.

Instance of 'TestShelveBase' has no '_in_mem' member
Error

Line: 190 Column: 16

                      for db in self._db:
            db.close()
        self._db = []
        if not self._in_mem:
            for f in glob.glob(self.fn+"*"):
                os_helper.unlink(f)

class TestAsciiFileShelve(TestShelveBase):
    _args={'protocol':0}

            

Reported by Pylint.

Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Security blacklist

Line: 69
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b301-pickle

                          self.fail('Closed shelf should not find a key')

    def test_ascii_file_shelf(self):
        s = shelve.open(self.fn, protocol=0)
        try:
            s['key1'] = (1,2,3,4)
            self.assertEqual(s['key1'], (1,2,3,4))
        finally:
            s.close()

            

Reported by Bandit.

Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Security blacklist

Line: 77
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b301-pickle

                          s.close()

    def test_binary_file_shelf(self):
        s = shelve.open(self.fn, protocol=1)
        try:
            s['key1'] = (1,2,3,4)
            self.assertEqual(s['key1'], (1,2,3,4))
        finally:
            s.close()

            

Reported by Bandit.

Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Security blacklist

Line: 85
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b301-pickle

                          s.close()

    def test_proto2_file_shelf(self):
        s = shelve.open(self.fn, protocol=2)
        try:
            s['key1'] = (1,2,3,4)
            self.assertEqual(s['key1'], (1,2,3,4))
        finally:
            s.close()

            

Reported by Bandit.

Access to a protected member _protocol of a client class
Error

Line: 165 Column: 30

              
    def test_default_protocol(self):
        with shelve.Shelf({}) as s:
            self.assertEqual(s._protocol, pickle.DEFAULT_PROTOCOL)

from test import mapping_tests

class TestShelveBase(mapping_tests.BasicTestMappingProtocol):
    fn = "shelftemp.db"

            

Reported by Pylint.

Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Security blacklist

Line: 183
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b301-pickle

                          x= shelve.Shelf(byteskeydict(), **self._args)
        else:
            self.counter+=1
            x= shelve.open(self.fn+str(self.counter), **self._args)
        self._db.append(x)
        return x
    def tearDown(self):
        for db in self._db:
            db.close()

            

Reported by Bandit.

Lib/test/test_shlex.py
70 issues
Value 's.punctuation_chars' doesn't support membership test
Error

Line: 269 Column: 28

                              t = s.get_token()
                if t == s.eof:
                    break
                if t[0] in s.punctuation_chars:
                    tt = 'c'
                else:
                    tt = 'a'
                observed.append((t, tt))
            self.assertEqual(observed, expected)

            

Reported by Pylint.

Redefining name 'data' from outer scope (line 11)
Error

Line: 149 Column: 25

                      for item in self.posix_data:
            item[0] = item[0].replace(r"\n", "\n")

    def splitTest(self, data, comments):
        for i in range(len(data)):
            l = shlex.split(data[i][0], comments=comments)
            self.assertEqual(l, data[i][1:],
                             "%s: %s != %s" %
                             (data[i][0], l, data[i][1:]))

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              import io
import itertools
import shlex
import string
import unittest
from unittest import mock


# The original test data set was from shellwords, by Hartmut Goebel.

            

Reported by Pylint.

Constant name "data" doesn't conform to UPPER_CASE naming style
Error

Line: 11 Column: 1

              
# The original test data set was from shellwords, by Hartmut Goebel.

data = r"""x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|

            

Reported by Pylint.

Constant name "posix_data" doesn't conform to UPPER_CASE naming style
Error

Line: 74 Column: 1

              áéíóú|á|é|í|ó|ú|
"""

posix_data = r"""x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|

            

Reported by Pylint.

Too many public methods (21/20)
Error

Line: 138 Column: 1

              áéíóú|áéíóú|
"""

class ShlexTest(unittest.TestCase):
    def setUp(self):
        self.data = [x.split("|")[:-1]
                     for x in data.splitlines()]
        self.posix_data = [x.split("|")[:-1]
                           for x in posix_data.splitlines()]

            

Reported by Pylint.

Missing class docstring
Error

Line: 138 Column: 1

              áéíóú|áéíóú|
"""

class ShlexTest(unittest.TestCase):
    def setUp(self):
        self.data = [x.split("|")[:-1]
                     for x in data.splitlines()]
        self.posix_data = [x.split("|")[:-1]
                           for x in posix_data.splitlines()]

            

Reported by Pylint.

Method name "splitTest" doesn't conform to snake_case naming style
Error

Line: 149 Column: 5

                      for item in self.posix_data:
            item[0] = item[0].replace(r"\n", "\n")

    def splitTest(self, data, comments):
        for i in range(len(data)):
            l = shlex.split(data[i][0], comments=comments)
            self.assertEqual(l, data[i][1:],
                             "%s: %s != %s" %
                             (data[i][0], l, data[i][1:]))

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 149 Column: 5

                      for item in self.posix_data:
            item[0] = item[0].replace(r"\n", "\n")

    def splitTest(self, data, comments):
        for i in range(len(data)):
            l = shlex.split(data[i][0], comments=comments)
            self.assertEqual(l, data[i][1:],
                             "%s: %s != %s" %
                             (data[i][0], l, data[i][1:]))

            

Reported by Pylint.

Consider using enumerate instead of iterating with range and len
Error

Line: 150 Column: 9

                          item[0] = item[0].replace(r"\n", "\n")

    def splitTest(self, data, comments):
        for i in range(len(data)):
            l = shlex.split(data[i][0], comments=comments)
            self.assertEqual(l, data[i][1:],
                             "%s: %s != %s" %
                             (data[i][0], l, data[i][1:]))


            

Reported by Pylint.

Lib/email/message.py
70 issues
Unused Policy imported from email._policybase
Error

Line: 17 Column: 1

              # Intrapackage imports
from email import utils
from email import errors
from email._policybase import Policy, compat32
from email import charset as _charset
from email._encoded_words import decode_b
Charset = _charset.Charset

SEMISPACE = '; '

            

Reported by Pylint.

Consider explicitly re-raising using the 'from' keyword
Error

Line: 210 Column: 17

                          try:
                self._payload.append(payload)
            except AttributeError:
                raise TypeError("Attach is not valid on a message with a"
                                " non-multipart payload")

    def get_payload(self, i=None, decode=False):
        """Return a reference to the payload.


            

Reported by Pylint.

Access to a protected member _has_surrogates of a client class
Error

Line: 263 Column: 16

                      cte = str(self.get('content-transfer-encoding', '')).lower()
        # payload may be bytes here.
        if isinstance(payload, str):
            if utils._has_surrogates(payload):
                bpayload = payload.encode('ascii', 'surrogateescape')
                if not decode:
                    try:
                        payload = bpayload.decode(self.get_param('charset', 'ascii'), 'replace')
                    except LookupError:

            

Reported by Pylint.

XXX: this is a bit of a hack; decode_b should probably be factored
Error

Line: 284 Column: 3

                      if cte == 'quoted-printable':
            return quopri.decodestring(bpayload)
        elif cte == 'base64':
            # XXX: this is a bit of a hack; decode_b should probably be factored
            # out somewhere, but I haven't figured out where yet.
            value, defects = decode_b(b''.join(bpayload.splitlines()))
            for defect in defects:
                self.policy.handle_defect(self, defect)
            return value

            

Reported by Pylint.

Unused variable 'v'
Error

Line: 403 Column: 20

                      if max_count:
            lname = name.lower()
            found = 0
            for k, v in self._headers:
                if k.lower() == lname:
                    found += 1
                    if found >= max_count:
                        raise ValueError("There may be at most {} {} headers "
                                         "in a message".format(max_count, name))

            

Reported by Pylint.

Unused variable 'value'
Error

Line: 427 Column: 20

                      return name.lower() in [k.lower() for k, v in self._headers]

    def __iter__(self):
        for field, value in self._headers:
            yield field

    def keys(self):
        """Return a list of all the message's header field names.


            

Reported by Pylint.

Unused variable 'v'
Error

Line: 553 Column: 20

                      raised.
        """
        _name = _name.lower()
        for i, (k, v) in zip(range(len(self._headers)), self._headers):
            if k.lower() == _name:
                self._headers[i] = self.policy.header_store_parse(k, _value)
                break
        else:
            raise KeyError(_name)

            

Reported by Pylint.

Redefining built-in 'type'
Error

Line: 774 Column: 24

                          del self[header]
            self[header] = new_ctype

    def set_type(self, type, header='Content-Type', requote=True):
        """Set the main type and subtype for the Content-Type header.

        type must be a string in the form "maintype/subtype", otherwise a
        ValueError is raised.


            

Reported by Pylint.

Redefining name 'v' from outer scope (line 866)
Error

Line: 869 Column: 17

                      for h, v in self._headers:
            if h.lower() == 'content-type':
                parts = []
                for k, v in newparams:
                    if v == '':
                        parts.append(k)
                    else:
                        parts.append('%s=%s' % (k, v))
                val = SEMISPACE.join(parts)

            

Reported by Pylint.

Access to a protected member _headers of a client class
Error

Line: 1120 Column: 13

                      if part_headers:
            # There is existing content, move it to the first subpart.
            part = type(self)(policy=self.policy)
            part._headers = part_headers
            part._payload = self._payload
            self._payload = [part]
        else:
            self._payload = []
        self._headers = keep_headers

            

Reported by Pylint.

Lib/imghdr.py
70 issues
Unused argument 'f'
Error

Line: 37 Column: 18

              
tests = []

def test_jpeg(h, f):
    """JPEG data with JFIF or Exif markers; and raw JPEG"""
    if h[6:10] in (b'JFIF', b'Exif'):
        return 'jpeg'
    elif h[:4] == b'\xff\xd8\xff\xdb':
        return 'jpeg'

            

Reported by Pylint.

Unused argument 'f'
Error

Line: 46 Column: 17

              
tests.append(test_jpeg)

def test_png(h, f):
    if h.startswith(b'\211PNG\r\n\032\n'):
        return 'png'

tests.append(test_png)


            

Reported by Pylint.

Unused argument 'f'
Error

Line: 52 Column: 17

              
tests.append(test_png)

def test_gif(h, f):
    """GIF ('87 and '89 variants)"""
    if h[:6] in (b'GIF87a', b'GIF89a'):
        return 'gif'

tests.append(test_gif)

            

Reported by Pylint.

Unused argument 'f'
Error

Line: 59 Column: 18

              
tests.append(test_gif)

def test_tiff(h, f):
    """TIFF (can be in Motorola or Intel byte order)"""
    if h[:2] in (b'MM', b'II'):
        return 'tiff'

tests.append(test_tiff)

            

Reported by Pylint.

Unused argument 'f'
Error

Line: 66 Column: 17

              
tests.append(test_tiff)

def test_rgb(h, f):
    """SGI image library"""
    if h.startswith(b'\001\332'):
        return 'rgb'

tests.append(test_rgb)

            

Reported by Pylint.

Unused argument 'f'
Error

Line: 73 Column: 17

              
tests.append(test_rgb)

def test_pbm(h, f):
    """PBM (portable bitmap)"""
    if len(h) >= 3 and \
        h[0] == ord(b'P') and h[1] in b'14' and h[2] in b' \t\n\r':
        return 'pbm'


            

Reported by Pylint.

Unused argument 'f'
Error

Line: 81 Column: 17

              
tests.append(test_pbm)

def test_pgm(h, f):
    """PGM (portable graymap)"""
    if len(h) >= 3 and \
        h[0] == ord(b'P') and h[1] in b'25' and h[2] in b' \t\n\r':
        return 'pgm'


            

Reported by Pylint.

Unused argument 'f'
Error

Line: 89 Column: 17

              
tests.append(test_pgm)

def test_ppm(h, f):
    """PPM (portable pixmap)"""
    if len(h) >= 3 and \
        h[0] == ord(b'P') and h[1] in b'36' and h[2] in b' \t\n\r':
        return 'ppm'


            

Reported by Pylint.

Unused argument 'f'
Error

Line: 97 Column: 18

              
tests.append(test_ppm)

def test_rast(h, f):
    """Sun raster file"""
    if h.startswith(b'\x59\xA6\x6A\x95'):
        return 'rast'

tests.append(test_rast)

            

Reported by Pylint.

Unused argument 'f'
Error

Line: 104 Column: 17

              
tests.append(test_rast)

def test_xbm(h, f):
    """X bitmap (X10 or X11)"""
    if h.startswith(b'#define '):
        return 'xbm'

tests.append(test_xbm)

            

Reported by Pylint.

Lib/turtledemo/paint.py
70 issues
Undefined variable 'pen'
Error

Line: 25 Column: 8

              from turtle import *

def switchupdown(x=0, y=0):
    if pen()["pendown"]:
        end_fill()
        up()
    else:
        down()
        begin_fill()

            

Reported by Pylint.

Undefined variable 'end_fill'
Error

Line: 26 Column: 9

              
def switchupdown(x=0, y=0):
    if pen()["pendown"]:
        end_fill()
        up()
    else:
        down()
        begin_fill()


            

Reported by Pylint.

Undefined variable 'up'
Error

Line: 27 Column: 9

              def switchupdown(x=0, y=0):
    if pen()["pendown"]:
        end_fill()
        up()
    else:
        down()
        begin_fill()

def changecolor(x=0, y=0):

            

Reported by Pylint.

Undefined variable 'down'
Error

Line: 29 Column: 9

                      end_fill()
        up()
    else:
        down()
        begin_fill()

def changecolor(x=0, y=0):
    global colors
    colors = colors[1:]+colors[:1]

            

Reported by Pylint.

Undefined variable 'begin_fill'
Error

Line: 30 Column: 9

                      up()
    else:
        down()
        begin_fill()

def changecolor(x=0, y=0):
    global colors
    colors = colors[1:]+colors[:1]
    color(colors[0])

            

Reported by Pylint.

Using variable 'colors' before assignment
Error

Line: 34 Column: 14

              
def changecolor(x=0, y=0):
    global colors
    colors = colors[1:]+colors[:1]
    color(colors[0])

def main():
    global colors
    shape("circle")

            

Reported by Pylint.

Undefined variable 'color'
Error

Line: 35 Column: 5

              def changecolor(x=0, y=0):
    global colors
    colors = colors[1:]+colors[:1]
    color(colors[0])

def main():
    global colors
    shape("circle")
    resizemode("user")

            

Reported by Pylint.

Undefined variable 'shape'
Error

Line: 39 Column: 5

              
def main():
    global colors
    shape("circle")
    resizemode("user")
    shapesize(.5)
    width(3)
    colors=["red", "green", "blue", "yellow"]
    color(colors[0])

            

Reported by Pylint.

Undefined variable 'resizemode'
Error

Line: 40 Column: 5

              def main():
    global colors
    shape("circle")
    resizemode("user")
    shapesize(.5)
    width(3)
    colors=["red", "green", "blue", "yellow"]
    color(colors[0])
    switchupdown()

            

Reported by Pylint.

Undefined variable 'shapesize'
Error

Line: 41 Column: 5

                  global colors
    shape("circle")
    resizemode("user")
    shapesize(.5)
    width(3)
    colors=["red", "green", "blue", "yellow"]
    color(colors[0])
    switchupdown()
    onscreenclick(goto,1)

            

Reported by Pylint.