The following issues were found

Doc/includes/dbpickle.py
9 issues
Missing module docstring
Error

Line: 1 Column: 1

              # Simple example presenting how persistent ID can be used to pickle
# external objects by reference.

import pickle
import sqlite3
from collections import namedtuple

# Simple class representing a record in our database.
MemoRecord = namedtuple("MemoRecord", "key, task")

            

Reported by Pylint.

Consider possible security implications associated with pickle module.
Security blacklist

Line: 4
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b403-import-pickle

              # Simple example presenting how persistent ID can be used to pickle
# external objects by reference.

import pickle
import sqlite3
from collections import namedtuple

# Simple class representing a record in our database.
MemoRecord = namedtuple("MemoRecord", "key, task")

            

Reported by Bandit.

Missing class docstring
Error

Line: 11 Column: 1

              # Simple class representing a record in our database.
MemoRecord = namedtuple("MemoRecord", "key, task")

class DBPickler(pickle.Pickler):

    def persistent_id(self, obj):
        # Instead of pickling MemoRecord as a regular class instance, we emit a
        # persistent ID.
        if isinstance(obj, MemoRecord):

            

Reported by Pylint.

Unnecessary "else" after "return"
Error

Line: 16 Column: 9

                  def persistent_id(self, obj):
        # Instead of pickling MemoRecord as a regular class instance, we emit a
        # persistent ID.
        if isinstance(obj, MemoRecord):
            # Here, our persistent ID is simply a tuple, containing a tag and a
            # key, which refers to a specific record in the database.
            return ("MemoRecord", obj.key)
        else:
            # If obj does not have a persistent ID, return None. This means obj

            

Reported by Pylint.

Missing class docstring
Error

Line: 26 Column: 1

                          return None


class DBUnpickler(pickle.Unpickler):

    def __init__(self, file, connection):
        super().__init__(file)
        self.connection = connection


            

Reported by Pylint.

Unnecessary "else" after "return"
Error

Line: 37 Column: 9

                      # Here, pid is the tuple returned by DBPickler.
        cursor = self.connection.cursor()
        type_tag, key_id = pid
        if type_tag == "MemoRecord":
            # Fetch the referenced record from the database and return it.
            cursor.execute("SELECT * FROM memos WHERE key=?", (str(key_id),))
            key, task = cursor.fetchone()
            return MemoRecord(key, task)
        else:

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 49 Column: 1

                          raise pickle.UnpicklingError("unsupported persistent object")


def main():
    import io
    import pprint

    # Initialize and populate our database.
    conn = sqlite3.connect(":memory:")

            

Reported by Pylint.

Import outside toplevel (io)
Error

Line: 50 Column: 5

              

def main():
    import io
    import pprint

    # Initialize and populate our database.
    conn = sqlite3.connect(":memory:")
    cursor = conn.cursor()

            

Reported by Pylint.

Import outside toplevel (pprint)
Error

Line: 51 Column: 5

              
def main():
    import io
    import pprint

    # Initialize and populate our database.
    conn = sqlite3.connect(":memory:")
    cursor = conn.cursor()
    cursor.execute("CREATE TABLE memos(key INTEGER PRIMARY KEY, task TEXT)")

            

Reported by Pylint.

Lib/encodings/ascii.py
9 issues
Redefining built-in 'input'
Error

Line: 21 Column: 22

                  decode = codecs.ascii_decode

class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, input, final=False):
        return codecs.ascii_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.ascii_decode(input, self.errors)[0]

            

Reported by Pylint.

Redefining built-in 'input'
Error

Line: 25 Column: 22

                      return codecs.ascii_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.ascii_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass


            

Reported by Pylint.

Missing class docstring
Error

Line: 13 Column: 1

              
### Codec APIs

class Codec(codecs.Codec):

    # Note: Binding these as C functions will result in the class not
    # converting them to methods. This is intended.
    encode = codecs.ascii_encode
    decode = codecs.ascii_decode

            

Reported by Pylint.

Missing class docstring
Error

Line: 20 Column: 1

                  encode = codecs.ascii_encode
    decode = codecs.ascii_decode

class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, input, final=False):
        return codecs.ascii_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):

            

Reported by Pylint.

Missing class docstring
Error

Line: 24 Column: 1

                  def encode(self, input, final=False):
        return codecs.ascii_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.ascii_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass

            

Reported by Pylint.

Missing class docstring
Error

Line: 28 Column: 1

                  def decode(self, input, final=False):
        return codecs.ascii_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass

class StreamReader(Codec,codecs.StreamReader):
    pass


            

Reported by Pylint.

Missing class docstring
Error

Line: 31 Column: 1

              class StreamWriter(Codec,codecs.StreamWriter):
    pass

class StreamReader(Codec,codecs.StreamReader):
    pass

class StreamConverter(StreamWriter,StreamReader):

    encode = codecs.ascii_decode

            

Reported by Pylint.

Missing class docstring
Error

Line: 34 Column: 1

              class StreamReader(Codec,codecs.StreamReader):
    pass

class StreamConverter(StreamWriter,StreamReader):

    encode = codecs.ascii_decode
    decode = codecs.ascii_encode

### encodings module API

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 41 Column: 1

              
### encodings module API

def getregentry():
    return codecs.CodecInfo(
        name='ascii',
        encode=Codec.encode,
        decode=Codec.decode,
        incrementalencoder=IncrementalEncoder,

            

Reported by Pylint.

Lib/lib2to3/fixes/fix_zip.py
9 issues
Attempted relative import beyond top-level package
Error

Line: 11 Column: 1

              """

# Local imports
from .. import fixer_base
from ..pytree import Node
from ..pygram import python_symbols as syms
from ..fixer_util import Name, ArgList, in_special_context



            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 12 Column: 1

              
# Local imports
from .. import fixer_base
from ..pytree import Node
from ..pygram import python_symbols as syms
from ..fixer_util import Name, ArgList, in_special_context


class FixZip(fixer_base.ConditionalFix):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 13 Column: 1

              # Local imports
from .. import fixer_base
from ..pytree import Node
from ..pygram import python_symbols as syms
from ..fixer_util import Name, ArgList, in_special_context


class FixZip(fixer_base.ConditionalFix):


            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 14 Column: 1

              from .. import fixer_base
from ..pytree import Node
from ..pygram import python_symbols as syms
from ..fixer_util import Name, ArgList, in_special_context


class FixZip(fixer_base.ConditionalFix):

    BM_compatible = True

            

Reported by Pylint.

Missing class docstring
Error

Line: 17 Column: 1

              from ..fixer_util import Name, ArgList, in_special_context


class FixZip(fixer_base.ConditionalFix):

    BM_compatible = True
    PATTERN = """
    power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
    >

            

Reported by Pylint.

Too few public methods (1/2)
Error

Line: 17 Column: 1

              from ..fixer_util import Name, ArgList, in_special_context


class FixZip(fixer_base.ConditionalFix):

    BM_compatible = True
    PATTERN = """
    power< 'zip' args=trailer< '(' [any] ')' > [trailers=trailer*]
    >

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 27 Column: 5

              
    skip_on = "future_builtins.zip"

    def transform(self, node, results):
        if self.should_skip(node):
            return

        if in_special_context(node):
            return None

            

Reported by Pylint.

Either all return statements in a function should return an expression, or none of them should.
Error

Line: 27 Column: 5

              
    skip_on = "future_builtins.zip"

    def transform(self, node, results):
        if self.should_skip(node):
            return

        if in_special_context(node):
            return None

            

Reported by Pylint.

Variable name "n" doesn't conform to snake_case naming style
Error

Line: 40 Column: 17

                      trailers = []
        if 'trailers' in results:
            trailers = [n.clone() for n in results['trailers']]
            for n in trailers:
                n.prefix = ""

        new = Node(syms.power, [Name("zip"), args], prefix="")
        new = Node(syms.power, [Name("list"), ArgList([new])] + trailers)
        new.prefix = node.prefix

            

Reported by Pylint.

Lib/curses/has_key.py
9 issues
Argument 'builtins.bool' does not match format type 'i'
Error

Line: 188 Column: 27

                          system = _curses.has_key(key)
            python = has_key(key)
            if system != python:
                L.append( 'Mismatch for key %s, system=%i, Python=%i'
                          % (_curses.keyname( key ), system, python) )
    finally:
        _curses.endwin()
        for i in L: print(i)

            

Reported by Pylint.

Missing module docstring
Error

Line: 1 Column: 1

              
#
# Emulation of has_key() function for platforms that don't use ncurses
#

import _curses

# Table mapping curses keys to the terminfo capability name


            

Reported by Pylint.

Argument name "ch" doesn't conform to snake_case naming style
Error

Line: 162 Column: 1

                  _curses.KEY_UP: 'kcuu1'
    }

def has_key(ch):
    if isinstance(ch, str):
        ch = ord(ch)

    # Figure out the correct capability name for the keycode.
    capability_name = _capability_names.get(ch)

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 162 Column: 1

                  _curses.KEY_UP: 'kcuu1'
    }

def has_key(ch):
    if isinstance(ch, str):
        ch = ord(ch)

    # Figure out the correct capability name for the keycode.
    capability_name = _capability_names.get(ch)

            

Reported by Pylint.

Unnecessary "else" after "return"
Error

Line: 173 Column: 5

              
    #Check the current terminal description for that capability;
    #if present, return true, else return false.
    if _curses.tigetstr( capability_name ):
        return True
    else:
        return False

if __name__ == '__main__':

            

Reported by Pylint.

The if statement can be replaced with 'return bool(test)'
Error

Line: 173 Column: 5

              
    #Check the current terminal description for that capability;
    #if present, return true, else return false.
    if _curses.tigetstr( capability_name ):
        return True
    else:
        return False

if __name__ == '__main__':

            

Reported by Pylint.

Consider iterating the dictionary directly instead of calling .keys()
Error

Line: 184 Column: 20

                  try:
        L = []
        _curses.initscr()
        for key in _capability_names.keys():
            system = _curses.has_key(key)
            python = has_key(key)
            if system != python:
                L.append( 'Mismatch for key %s, system=%i, Python=%i'
                          % (_curses.keyname( key ), system, python) )

            

Reported by Pylint.

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

Line: 186 Column: 13

                      _curses.initscr()
        for key in _capability_names.keys():
            system = _curses.has_key(key)
            python = has_key(key)
            if system != python:
                L.append( 'Mismatch for key %s, system=%i, Python=%i'
                          % (_curses.keyname( key ), system, python) )
    finally:
        _curses.endwin()

            

Reported by Pylint.

More than one statement on a single line
Error

Line: 192 Column: 21

                                        % (_curses.keyname( key ), system, python) )
    finally:
        _curses.endwin()
        for i in L: print(i)

            

Reported by Pylint.

Lib/idlelib/idle_test/test_delegator.py
9 issues
Access to a protected member _Delegator__cache of a client class
Error

Line: 15 Column: 26

                      # Initialize an int delegator.
        mydel = Delegator(int)
        self.assertIs(mydel.delegate, int)
        self.assertEqual(mydel._Delegator__cache, set())
        # Trying to access a non-attribute of int fails.
        self.assertRaises(AttributeError, mydel.__getattr__, 'xyz')

        # Add real int attribute 'bit_length' by accessing it.
        bl = mydel.bit_length

            

Reported by Pylint.

Access to a protected member _Delegator__cache of a client class
Error

Line: 23 Column: 26

                      bl = mydel.bit_length
        self.assertIs(bl, int.bit_length)
        self.assertIs(mydel.__dict__['bit_length'], int.bit_length)
        self.assertEqual(mydel._Delegator__cache, {'bit_length'})

        # Add attribute 'numerator'.
        mydel.numerator
        self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})


            

Reported by Pylint.

Statement seems to have no effect
Error

Line: 26 Column: 9

                      self.assertEqual(mydel._Delegator__cache, {'bit_length'})

        # Add attribute 'numerator'.
        mydel.numerator
        self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})

        # Delete 'numerator'.
        del mydel.numerator
        self.assertNotIn('numerator', mydel.__dict__)

            

Reported by Pylint.

Access to a protected member _Delegator__cache of a client class
Error

Line: 27 Column: 26

              
        # Add attribute 'numerator'.
        mydel.numerator
        self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})

        # Delete 'numerator'.
        del mydel.numerator
        self.assertNotIn('numerator', mydel.__dict__)
        # The current implementation leaves  it in the name cache.

            

Reported by Pylint.

Access to a protected member _Delegator__cache of a client class
Error

Line: 39 Column: 26

                      # Change delegate to float, first resetting the attributes.
        mydel.setdelegate(float)  # calls resetcache
        self.assertNotIn('bit_length', mydel.__dict__)
        self.assertEqual(mydel._Delegator__cache, set())
        self.assertIs(mydel.delegate, float)


if __name__ == '__main__':
    unittest.main(verbosity=2, exit=2)

            

Reported by Pylint.

standard import "import unittest" should be placed before "from idlelib.delegator import Delegator"
Error

Line: 4 Column: 1

              "Test delegator, coverage 100%."

from idlelib.delegator import Delegator
import unittest


class DelegatorTest(unittest.TestCase):

    def test_mydel(self):

            

Reported by Pylint.

Missing class docstring
Error

Line: 7 Column: 1

              import unittest


class DelegatorTest(unittest.TestCase):

    def test_mydel(self):
        # Test a simple use scenario.

        # Initialize an int delegator.

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 9 Column: 5

              
class DelegatorTest(unittest.TestCase):

    def test_mydel(self):
        # Test a simple use scenario.

        # Initialize an int delegator.
        mydel = Delegator(int)
        self.assertIs(mydel.delegate, int)

            

Reported by Pylint.

Variable name "bl" doesn't conform to snake_case naming style
Error

Line: 20 Column: 9

                      self.assertRaises(AttributeError, mydel.__getattr__, 'xyz')

        # Add real int attribute 'bit_length' by accessing it.
        bl = mydel.bit_length
        self.assertIs(bl, int.bit_length)
        self.assertIs(mydel.__dict__['bit_length'], int.bit_length)
        self.assertEqual(mydel._Delegator__cache, {'bit_length'})

        # Add attribute 'numerator'.

            

Reported by Pylint.

Lib/asyncio/locks.py
8 issues
Attempted relative import beyond top-level package
Error

Line: 7 Column: 1

              
import collections

from . import exceptions
from . import mixins


class _ContextManagerMixin:
    async def __aenter__(self):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 8 Column: 1

              import collections

from . import exceptions
from . import mixins


class _ContextManagerMixin:
    async def __aenter__(self):
        await self.acquire()

            

Reported by Pylint.

Access to a protected member _LoopBoundMixin of a client class
Error

Line: 22 Column: 34

                      self.release()


class Lock(_ContextManagerMixin, mixins._LoopBoundMixin):
    """Primitive lock objects.

    A primitive lock is a synchronization primitive that is not owned
    by a particular coroutine when locked.  A primitive lock is in one
    of two states, 'locked' or 'unlocked'.

            

Reported by Pylint.

Access to a protected member _LoopBoundMixin of a client class
Error

Line: 157 Column: 13

                          fut.set_result(True)


class Event(mixins._LoopBoundMixin):
    """Asynchronous equivalent to threading.Event.

    Class implementing event objects. An event manages a flag that can be set
    to true with the set() method and reset to false with the clear() method.
    The wait() method blocks until the flag is true. The flag is initially

            

Reported by Pylint.

Access to a protected member _LoopBoundMixin of a client class
Error

Line: 219 Column: 39

                          self._waiters.remove(fut)


class Condition(_ContextManagerMixin, mixins._LoopBoundMixin):
    """Asynchronous equivalent to threading.Condition.

    This class implements condition variable objects. A condition variable
    allows one or more coroutines to wait until they are notified by another
    coroutine.

            

Reported by Pylint.

Access to a protected member _LoopBoundMixin of a client class
Error

Line: 334 Column: 39

                      self.notify(len(self._waiters))


class Semaphore(_ContextManagerMixin, mixins._LoopBoundMixin):
    """A Semaphore implementation.

    A semaphore manages an internal counter which is decremented by each
    acquire() call and incremented by each release() call. The counter
    can never go below zero; when acquire() finds that it is zero, it blocks,

            

Reported by Pylint.

Argument name "tb" doesn't conform to snake_case naming style
Error

Line: 18 Column: 5

                      # statement for locks.
        return None

    async def __aexit__(self, exc_type, exc, tb):
        self.release()


class Lock(_ContextManagerMixin, mixins._LoopBoundMixin):
    """Primitive lock objects.

            

Reported by Pylint.

Argument name "n" doesn't conform to snake_case naming style
Error

Line: 301 Column: 5

                          result = predicate()
        return result

    def notify(self, n=1):
        """By default, wake up one coroutine waiting on this condition, if any.
        If the calling coroutine has not acquired the lock when this method
        is called, a RuntimeError is raised.

        This method wakes up at most n of the coroutines waiting for the

            

Reported by Pylint.

Lib/lib2to3/fixes/fix_has_key.py
8 issues
Attempted relative import beyond top-level package
Error

Line: 33 Column: 1

              """

# Local imports
from .. import pytree
from .. import fixer_base
from ..fixer_util import Name, parenthesize


class FixHasKey(fixer_base.BaseFix):

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 34 Column: 1

              
# Local imports
from .. import pytree
from .. import fixer_base
from ..fixer_util import Name, parenthesize


class FixHasKey(fixer_base.BaseFix):
    BM_compatible = True

            

Reported by Pylint.

Attempted relative import beyond top-level package
Error

Line: 35 Column: 1

              # Local imports
from .. import pytree
from .. import fixer_base
from ..fixer_util import Name, parenthesize


class FixHasKey(fixer_base.BaseFix):
    BM_compatible = True


            

Reported by Pylint.

Unused variable 'anchor'
Error

Line: 80 Column: 9

                          # pattern when its parent matches the second alternative
            return None
        negation = results.get("negation")
        anchor = results["anchor"]
        prefix = node.prefix
        before = [n.clone() for n in results["before"]]
        arg = results["arg"].clone()
        after = results.get("after")
        if after:

            

Reported by Pylint.

Missing class docstring
Error

Line: 38 Column: 1

              from ..fixer_util import Name, parenthesize


class FixHasKey(fixer_base.BaseFix):
    BM_compatible = True

    PATTERN = """
    anchor=power<
        before=any+

            

Reported by Pylint.

Too few public methods (1/2)
Error

Line: 38 Column: 1

              from ..fixer_util import Name, parenthesize


class FixHasKey(fixer_base.BaseFix):
    BM_compatible = True

    PATTERN = """
    anchor=power<
        before=any+

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 71 Column: 5

                  >
    """

    def transform(self, node, results):
        assert results
        syms = self.syms
        if (node.parent.type == syms.not_test and
            self.pattern.match(node.parent)):
            # Don't transform a node matching the first alternative of the

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 72
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  """

    def transform(self, node, results):
        assert results
        syms = self.syms
        if (node.parent.type == syms.not_test and
            self.pattern.match(node.parent)):
            # Don't transform a node matching the first alternative of the
            # pattern when its parent matches the second alternative

            

Reported by Bandit.

Lib/distutils/tests/test_bdist_dumb.py
8 issues
Instance of 'Distribution' has no 'get_fullname' member
Error

Line: 76 Column: 31

              
        # see what we have
        dist_created = os.listdir(os.path.join(pkg_dir, 'dist'))
        base = "%s.%s.zip" % (dist.get_fullname(), cmd.plat_name)

        self.assertEqual(dist_created, [base])

        # now let's check what we have in the zip file
        fp = zipfile.ZipFile(os.path.join('dist', base))

            

Reported by Pylint.

Unused import zlib
Error

Line: 23 Column: 5

              """

try:
    import zlib
    ZLIB_SUPPORT = True
except ImportError:
    ZLIB_SUPPORT = False



            

Reported by Pylint.

Missing class docstring
Error

Line: 29 Column: 1

                  ZLIB_SUPPORT = False


class BuildDumbTestCase(support.TempdirManager,
                        support.LoggingSilencer,
                        support.EnvironGuard,
                        unittest.TestCase):

    def setUp(self):

            

Reported by Pylint.

Consider using Python 3 style super() without arguments
Error

Line: 35 Column: 9

                                      unittest.TestCase):

    def setUp(self):
        super(BuildDumbTestCase, self).setUp()
        self.old_location = os.getcwd()
        self.old_sys_argv = sys.argv, sys.argv[:]

    def tearDown(self):
        os.chdir(self.old_location)

            

Reported by Pylint.

Consider using Python 3 style super() without arguments
Error

Line: 43 Column: 9

                      os.chdir(self.old_location)
        sys.argv = self.old_sys_argv[0]
        sys.argv[:] = self.old_sys_argv[1]
        super(BuildDumbTestCase, self).tearDown()

    @unittest.skipUnless(ZLIB_SUPPORT, 'Need zlib support to run')
    def test_simple_built(self):

        # let's create a simple package

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 46 Column: 5

                      super(BuildDumbTestCase, self).tearDown()

    @unittest.skipUnless(ZLIB_SUPPORT, 'Need zlib support to run')
    def test_simple_built(self):

        # let's create a simple package
        tmp_dir = self.mkdtemp()
        pkg_dir = os.path.join(tmp_dir, 'foo')
        os.mkdir(pkg_dir)

            

Reported by Pylint.

Variable name "fp" doesn't conform to snake_case naming style
Error

Line: 81 Column: 9

                      self.assertEqual(dist_created, [base])

        # now let's check what we have in the zip file
        fp = zipfile.ZipFile(os.path.join('dist', base))
        try:
            contents = fp.namelist()
        finally:
            fp.close()


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 93 Column: 1

                          wanted.append('foo.%s.pyc' % sys.implementation.cache_tag)
        self.assertEqual(contents, sorted(wanted))

def test_suite():
    return unittest.makeSuite(BuildDumbTestCase)

if __name__ == '__main__':
    run_unittest(test_suite())

            

Reported by Pylint.

Lib/idlelib/idle_test/test_statusbar.py
8 issues
standard import "import unittest" should be placed before "from idlelib import statusbar"
Error

Line: 4 Column: 1

              "Test statusbar, coverage 100%."

from idlelib import statusbar
import unittest
from test.support import requires
from tkinter import Tk


class Test(unittest.TestCase):

            

Reported by Pylint.

standard import "from test.support import requires" should be placed before "from idlelib import statusbar"
Error

Line: 5 Column: 1

              
from idlelib import statusbar
import unittest
from test.support import requires
from tkinter import Tk


class Test(unittest.TestCase):


            

Reported by Pylint.

standard import "from tkinter import Tk" should be placed before "from idlelib import statusbar"
Error

Line: 6 Column: 1

              from idlelib import statusbar
import unittest
from test.support import requires
from tkinter import Tk


class Test(unittest.TestCase):

    @classmethod

            

Reported by Pylint.

Missing class docstring
Error

Line: 9 Column: 1

              from tkinter import Tk


class Test(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        requires('gui')
        cls.root = Tk()

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 23 Column: 5

                      cls.root.destroy()
        del cls.root

    def test_init(self):
        bar = statusbar.MultiStatusBar(self.root)
        self.assertEqual(bar.labels, {})

    def test_set_label(self):
        bar = statusbar.MultiStatusBar(self.root)

            

Reported by Pylint.

Black listed name "bar"
Error

Line: 24 Column: 9

                      del cls.root

    def test_init(self):
        bar = statusbar.MultiStatusBar(self.root)
        self.assertEqual(bar.labels, {})

    def test_set_label(self):
        bar = statusbar.MultiStatusBar(self.root)
        bar.set_label('left', text='sometext', width=10)

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 27 Column: 5

                      bar = statusbar.MultiStatusBar(self.root)
        self.assertEqual(bar.labels, {})

    def test_set_label(self):
        bar = statusbar.MultiStatusBar(self.root)
        bar.set_label('left', text='sometext', width=10)
        self.assertIn('left', bar.labels)
        left = bar.labels['left']
        self.assertEqual(left['text'], 'sometext')

            

Reported by Pylint.

Black listed name "bar"
Error

Line: 28 Column: 9

                      self.assertEqual(bar.labels, {})

    def test_set_label(self):
        bar = statusbar.MultiStatusBar(self.root)
        bar.set_label('left', text='sometext', width=10)
        self.assertIn('left', bar.labels)
        left = bar.labels['left']
        self.assertEqual(left['text'], 'sometext')
        self.assertEqual(left['width'], 10)

            

Reported by Pylint.

Lib/encodings/unicode_escape.py
8 issues
Redefining built-in 'input'
Error

Line: 21 Column: 22

                  decode = codecs.unicode_escape_decode

class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, input, final=False):
        return codecs.unicode_escape_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.unicode_escape_decode(input, self.errors)[0]

            

Reported by Pylint.

Redefining built-in 'input'
Error

Line: 25 Column: 22

                      return codecs.unicode_escape_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.unicode_escape_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass


            

Reported by Pylint.

Missing class docstring
Error

Line: 13 Column: 1

              
### Codec APIs

class Codec(codecs.Codec):

    # Note: Binding these as C functions will result in the class not
    # converting them to methods. This is intended.
    encode = codecs.unicode_escape_encode
    decode = codecs.unicode_escape_decode

            

Reported by Pylint.

Missing class docstring
Error

Line: 20 Column: 1

                  encode = codecs.unicode_escape_encode
    decode = codecs.unicode_escape_decode

class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, input, final=False):
        return codecs.unicode_escape_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):

            

Reported by Pylint.

Missing class docstring
Error

Line: 24 Column: 1

                  def encode(self, input, final=False):
        return codecs.unicode_escape_encode(input, self.errors)[0]

class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, input, final=False):
        return codecs.unicode_escape_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass

            

Reported by Pylint.

Missing class docstring
Error

Line: 28 Column: 1

                  def decode(self, input, final=False):
        return codecs.unicode_escape_decode(input, self.errors)[0]

class StreamWriter(Codec,codecs.StreamWriter):
    pass

class StreamReader(Codec,codecs.StreamReader):
    pass


            

Reported by Pylint.

Missing class docstring
Error

Line: 31 Column: 1

              class StreamWriter(Codec,codecs.StreamWriter):
    pass

class StreamReader(Codec,codecs.StreamReader):
    pass

### encodings module API

def getregentry():

            

Reported by Pylint.

Missing function or method docstring
Error

Line: 36 Column: 1

              
### encodings module API

def getregentry():
    return codecs.CodecInfo(
        name='unicode-escape',
        encode=Codec.encode,
        decode=Codec.decode,
        incrementalencoder=IncrementalEncoder,

            

Reported by Pylint.