Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_linter():
argv = ['--application-import-names=flake8_import_order']
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
data = 'import ast\nimport flake8_import_order\n'
pycodestyle.stdin_get_value = lambda: data
checker = Linter(None)
for lineno, col_offset, msg, instance in checker.run():
assert msg == 'I201 Missing newline before sections or imports.'
def test_parsing():
style = 'google'
import_names = ['flake8_import_order', 'tests']
package_names = ['local_package']
argv = [
"--application-import-names={}".format(','.join(import_names)),
"--import-order-style={}".format(style),
"--application-package-names={}".format(','.join(package_names)),
]
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
assert Linter.options['import_order_style'].name == style
assert Linter.options['import_order_style'].load() is Google
assert Linter.options['application_import_names'] == import_names
assert Linter.options['application_package_names'] == package_names
def test_linter():
argv = ['--application-import-names=flake8_import_order']
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
data = 'import ast\nimport flake8_import_order\n'
pycodestyle.stdin_get_value = lambda: data
tree = ast.parse(data)
checker = Linter(tree, None)
for lineno, col_offset, msg, instance in checker.run():
assert msg.startswith(
'I201 Missing newline between import groups.',
)
def test_parsing():
style = 'google'
import_names = ['flake8_import_order', 'tests']
package_names = ['local_package']
argv = [
"--application-import-names={}".format(','.join(import_names)),
"--import-order-style={}".format(style),
"--application-package-names={}".format(','.join(package_names)),
]
parser = pycodestyle.get_parser('', '')
Linter.add_options(parser)
options, args = parser.parse_args(argv)
Linter.parse_options(options)
assert Linter.options['import_order_style'].name == style
assert Linter.options['import_order_style'].load() is Google
assert Linter.options['application_import_names'] == import_names
assert Linter.options['application_package_names'] == package_names
def run(path, code=None, params=None, **meta):
"""Check code with pycodestyle.
:return list: List of errors.
"""
parser = get_parser()
for option in parser.option_list:
if option.dest and option.dest in params:
value = params[option.dest]
if isinstance(value, str):
params[option.dest] = option.convert_value(option, value)
for key in ["filename", "exclude", "select", "ignore"]:
if key in params and isinstance(params[key], str):
params[key] = _parse_multi_options(params[key])
P8Style = StyleGuide(reporter=_PycodestyleReport, **params)
buf = StringIO(code)
return P8Style.input_file(path, lines=buf.readlines())
def get_parser():
"""This returns an instance of optparse.OptionParser with all the
extensions registered and options set. This wraps ``pep8.get_parser``.
"""
(extensions, parser_hooks, options_hooks, ignored) = _register_extensions()
details = ', '.join('%s: %s' % ext for ext in extensions)
python_version = get_python_version()
parser = pep8.get_parser('flake8', '%s (%s) %s' % (
__version__, details, python_version
))
for opt in ('--repeat', '--testsuite', '--doctest'):
try:
parser.remove_option(opt)
except ValueError:
pass
if multiprocessing:
parser.config_options.append('jobs')
parser.add_option('-j', '--jobs', type='string', default='auto',
help="number of jobs to run simultaneously, "
"or 'auto'. This is ignored on Windows.")
parser.add_option('--exit-zero', action='store_true',
help="exit with code 0 even if there are errors")
def run(path, code=None, params=None, **meta):
"""Check code with pycodestyle.
:return list: List of errors.
"""
parser = get_parser()
for option in parser.option_list:
if option.dest and option.dest in params:
value = params[option.dest]
if isinstance(value, str):
params[option.dest] = option.convert_value(option, value)
for key in ["filename", "exclude", "select", "ignore"]:
if key in params and isinstance(params[key], str):
params[key] = _parse_multi_options(params[key])
P8Style = StyleGuide(reporter=_PycodestyleReport, **params)
buf = StringIO(code)
return P8Style.input_file(path, lines=buf.readlines())