Example #1
0
def main():
    '''
    Parse options and run lint8 checks on Python source.
    '''

    parser = ArgumentParser(description='')
    parser.add_argument('--ignore', default='',
                        help='skip messages of specified types (e.g. '
                        'L003,E201,F100)')
    parser.add_argument('--exclude', default='',
                        help='exclude files matching patterns (e.g. '
                        'some_file,bad_.+)')
    parser.add_argument('--web', '-w', default=False, action='store_true',
                        help='enable web-centric checks, no prints, '
                        'good logging practices, ...')
    parser.add_argument('paths', nargs='+')
    args = parser.parse_args()

    ignores = args.ignore.split(',') if args.ignore else []
    excludes = args.exclude.split(',') if args.exclude else []

    checker = Checker(ignores=ignores, web=args.web)
    count = checker.process(args.paths, excludes)
    for message in checker.messages:
        print(message, file=stderr)
    exit(count)
Example #2
0
def main():
    '''
    Parse options and run lint8 checks on Python source.
    '''

    parser = ArgumentParser(description='')
    parser.add_argument('--ignore',
                        default='',
                        help='skip messages of specified types (e.g. '
                        'L003,E201,F100)')
    parser.add_argument('--exclude',
                        default='',
                        help='exclude files matching patterns (e.g. '
                        'some_file,bad_.+)')
    parser.add_argument('--web',
                        '-w',
                        default=False,
                        action='store_true',
                        help='enable web-centric checks, no prints, '
                        'good logging practices, ...')
    parser.add_argument('paths', nargs='+')
    args = parser.parse_args()

    ignores = args.ignore.split(',') if args.ignore else []
    excludes = args.exclude.split(',') if args.exclude else []

    checker = Checker(ignores=ignores, web=args.web)
    count = checker.process(args.paths, excludes)
    for message in checker.messages:
        print(message, file=stderr)
    exit(count)
Example #3
0
    def test_utf8(self):
        checker = Checker()

        self.assertEquals(0, checker.process([join(FILES_DIR, 'utf-8',
                                                   'first.py')]))
        self.assertEquals(0, checker.process([join(FILES_DIR, 'utf-8',
                                                   'second.py')]))
    def test_utf8(self):
        checker = Checker()

        self.assertEquals(
            0, checker.process([join(FILES_DIR, 'utf-8', 'first.py')]))
        self.assertEquals(
            0, checker.process([join(FILES_DIR, 'utf-8', 'second.py')]))
    def test_checker_blowup(self):
        checker = Checker()

        class Blowup:
            def check(self, *args, **kwargs):
                raise Exception('boom')

        checker.checkers = [Blowup()]

        with self.assertRaises(Exception) as cm:
            checker.process([join(FILES_DIR, 'bad', 'simple.py')])
        self.assertEquals('boom', str(cm.exception))
Example #6
0
    def test_checker_blowup(self):
        checker = Checker()

        class Blowup:

            def check(self, *args, **kwargs):
                raise Exception('boom')

        checker.checkers = [Blowup()]

        with self.assertRaises(Exception) as cm:
            checker.process([join(FILES_DIR, 'bad', 'simple.py')])
        self.assertEquals('boom', str(cm.exception))
Example #7
0
    def test_web(self):
        checker = Checker(web=True)

        self.assertEquals(11, checker.process([join(FILES_DIR, 'bad',
                                                    'simple.py')]))

        self.assertEquals(14, checker.process([join(FILES_DIR, 'bad',
                                                    'other.py')]))

        self.assertEquals(4, checker.process([join(FILES_DIR, 'bad',
                                                   'exceptions.py')]))

        self.assertEquals(29, checker.process([join(FILES_DIR, 'bad')]))
Example #8
0
    def test_clean(self):
        checker = Checker()

        self.assertEquals(0, checker.process([join(FILES_DIR, 'clean',
                                                   'simple.py')]))

        self.assertEquals(0, checker.process([join(FILES_DIR, 'clean',
                                                   'other.py')]))

        self.assertEquals(0, checker.process([join(FILES_DIR, 'clean',
                                                   'exceptions.py')]))

        self.assertEquals(0, checker.process([join(FILES_DIR, 'clean')]))
    def test_bad(self):
        checker = Checker()

        checker.process([join(FILES_DIR, 'bad', 'simple.py')])
        self.assertEquals(
            10, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))

        self.assertEquals(
            11, checker.process([join(FILES_DIR, 'bad', 'other.py')]))

        self.assertEquals(
            4, checker.process([join(FILES_DIR, 'bad', 'exceptions.py')]))

        self.assertEquals(25, checker.process([join(FILES_DIR, 'bad')]))
Example #10
0
    def test_ignore(self):
        checker = Checker(ignores=['W291'])
        self.assertEquals(9, checker.process([join(FILES_DIR, 'bad',
                                                   'simple.py')]))

        checker = Checker(ignores=['W291', 'L001'])
        self.assertEquals(8, checker.process([join(FILES_DIR, 'bad',
                                                   'simple.py')]))

        checker = Checker(ignores=['W291', 'L001', 'F001'])
        self.assertEquals(7, checker.process([join(FILES_DIR, 'bad',
                                                   'simple.py')]))

        # ignore unknown pyflakes msg
        checker = Checker(ignores=['W291', 'L001', 'F001', 'F999'])
        self.assertEquals(7, checker.process([join(FILES_DIR, 'bad',
                                                   'simple.py')]))
Example #11
0
    def test_bad(self):
        checker = Checker()

        checker.process([join(FILES_DIR, 'bad', 'simple.py')])
        self.assertEquals(10, checker.process([join(FILES_DIR, 'bad',
                                                    'simple.py')]))

        self.assertEquals(11, checker.process([join(FILES_DIR, 'bad',
                                                    'other.py')]))

        self.assertEquals(4, checker.process([join(FILES_DIR, 'bad',
                                                   'exceptions.py')]))

        self.assertEquals(25, checker.process([join(FILES_DIR, 'bad')]))
Example #12
0
    def test_web(self):
        checker = Checker(web=True)

        self.assertEquals(
            11, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))

        self.assertEquals(
            14, checker.process([join(FILES_DIR, 'bad', 'other.py')]))

        self.assertEquals(
            4, checker.process([join(FILES_DIR, 'bad', 'exceptions.py')]))

        self.assertEquals(29, checker.process([join(FILES_DIR, 'bad')]))
Example #13
0
    def test_clean(self):
        checker = Checker()

        self.assertEquals(
            0, checker.process([join(FILES_DIR, 'clean', 'simple.py')]))

        self.assertEquals(
            0, checker.process([join(FILES_DIR, 'clean', 'other.py')]))

        self.assertEquals(
            0, checker.process([join(FILES_DIR, 'clean', 'exceptions.py')]))

        self.assertEquals(0, checker.process([join(FILES_DIR, 'clean')]))
Example #14
0
    def test_nonexistent_file(self):
        checker = Checker()

        with self.assertRaises(IOError):
            checker.process([join('some', 'path', 'to', 'nowhere')])
Example #15
0
    def test_nonexistent_file(self):
        checker = Checker()

        with self.assertRaises(IOError):
            checker.process([join('some', 'path', 'to', 'nowhere')])
Example #16
0
    def test_ignore(self):
        checker = Checker(ignores=['W291'])
        self.assertEquals(
            9, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))

        checker = Checker(ignores=['W291', 'L001'])
        self.assertEquals(
            8, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))

        checker = Checker(ignores=['W291', 'L001', 'F001'])
        self.assertEquals(
            7, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))

        # ignore unknown pyflakes msg
        checker = Checker(ignores=['W291', 'L001', 'F001', 'F999'])
        self.assertEquals(
            7, checker.process([join(FILES_DIR, 'bad', 'simple.py')]))