flake8 / flake8 / main.py

Florent Xicluna 470062e 
Ian Cordasco 9a326fc 

Florent Xicluna bbe5df9 
Florent Xicluna 551d99a 

Florent Xicluna bbe5df9 
Ian Cordasco a38b3ed 
Ian Cordasco 477d59b 
Florent Xicluna bbe5df9 
Ian Cordasco 477d59b 
Florent Xicluna bbe5df9 
Ian Cordasco 477d59b 



Ian Cordasco 9a326fc 

Florent Xicluna bbe5df9 



Ian Cordasco 98ae302 
Florent Xicluna bbe5df9 
Ian Cordasco 10db2c2 


Florent Xicluna bbe5df9 

Ian Cordasco 9a326fc 
Florent Xicluna bbe5df9 










Ian Cordasco 9a326fc 

Florent Xicluna e4dc26d 
Diogo Baeder 5335494 
Ian Cordasco 9198b90 





Florent Xicluna bbe5df9 
Florent Xicluna e4dc26d 
Florent Xicluna bbe5df9 
Ian Cordasco 9a326fc 

Florent Xicluna e4dc26d 
Ian Cordasco 9198b90 





Florent Xicluna bbe5df9 
Florent Xicluna e4dc26d 

Ian Cordasco 9a326fc 

Florent Xicluna 551d99a 
Ian Cordasco 9198b90 



Florent Xicluna 551d99a 

Ian Cordasco 9a326fc 
Florent Xicluna 551d99a 

Ian Cordasco 9a326fc 
Florent Xicluna 551d99a 

Ian Cordasco 9a326fc 
Florent Xicluna 551d99a 



Ian Cordasco 9a326fc 
Florent Xicluna 551d99a 


Ian Cordasco 9a326fc 
Florent Xicluna 551d99a 



# -*- coding: utf-8 -*-
import os
import sys

import setuptools

from flake8.engine import get_style_guide

if sys.platform.startswith('win'):
    DEFAULT_CONFIG = os.path.expanduser(r'~\.flake8')
else:
    DEFAULT_CONFIG = os.path.join(
        os.getenv('XDG_CONFIG_HOME') or os.path.expanduser('~/.config'),
        'flake8'
    )


def main():
    """Parse options and run checks on Python source."""
    # Prepare
    flake8_style = get_style_guide(parse_argv=True, config_file=DEFAULT_CONFIG)
    options = flake8_style.options

    if options.install_hook:
        from flake8.hooks import install_hook
        install_hook()

    # Run the checkers
    report = flake8_style.check_files()

    # Print the final report
    options = flake8_style.options
    if options.statistics:
        report.print_statistics()
    if options.benchmark:
        report.print_benchmark()
    if report.total_errors:
        if options.count:
            sys.stderr.write(str(report.total_errors) + '\n')
        if not options.exit_zero:
            raise SystemExit(1)


def check_file(path, ignore=(), complexity=-1):
    """Checks a file using pep8 and pyflakes by default and mccabe
    optionally.

    :param str path: path to the file to be checked
    :param tuple ignore: (optional), error and warning codes to be ignored
    :param int complexity: (optional), enables the mccabe check for values > 0
    """
    flake8_style = get_style_guide(
        config_file=DEFAULT_CONFIG, ignore=ignore, max_complexity=complexity)
    return flake8_style.input_file(path)


def check_code(code, ignore=(), complexity=-1):
    """Checks code using pep8 and pyflakes by default and mccabe optionally.

    :param str code: code to be checked
    :param tuple ignore: (optional), error and warning codes to be ignored
    :param int complexity: (optional), enables the mccabe check for values > 0
    """
    flake8_style = get_style_guide(
        config_file=DEFAULT_CONFIG, ignore=ignore, max_complexity=complexity)
    return flake8_style.input_file('-', lines=code.splitlines())


class Flake8Command(setuptools.Command):
    """The :class:`Flake8Command` class is used by setuptools to perform
    checks on registered modules.
    """

    description = "Run flake8 on modules registered in setuptools"
    user_options = []

    def initialize_options(self):
        pass

    def finalize_options(self):
        pass

    def distribution_files(self):
        if self.distribution.packages:
            for package in self.distribution.packages:
                yield package.replace(".", os.path.sep)

        if self.distribution.py_modules:
            for filename in self.distribution.py_modules:
                yield "%s.py" % filename

    def run(self):
        flake8_style = get_style_guide(config_file=DEFAULT_CONFIG)
        paths = self.distribution_files()
        report = flake8_style.check_files(paths)
        raise SystemExit(report.total_errors > 0)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.