mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-10 14:54:17 +00:00
fixed the stdin, thanks to zeeg
This commit is contained in:
parent
c41011901f
commit
aaa14dc4e1
3 changed files with 22 additions and 4 deletions
|
|
@ -1127,6 +1127,9 @@ class Checker(object):
|
||||||
if filename is None:
|
if filename is None:
|
||||||
self.filename = 'stdin'
|
self.filename = 'stdin'
|
||||||
self.lines = lines or []
|
self.lines = lines or []
|
||||||
|
elif hasattr(filename, 'readlines'):
|
||||||
|
self.lines = filename.readlines()
|
||||||
|
self.filename = 'stdin'
|
||||||
elif lines is None:
|
elif lines is None:
|
||||||
self.lines = readlines(filename)
|
self.lines = readlines(filename)
|
||||||
else:
|
else:
|
||||||
|
|
@ -1644,8 +1647,10 @@ def process_options(arglist=None):
|
||||||
options.repeat = False
|
options.repeat = False
|
||||||
if options.testsuite:
|
if options.testsuite:
|
||||||
args.append(options.testsuite)
|
args.append(options.testsuite)
|
||||||
|
|
||||||
if not args and not options.doctest:
|
if not args and not options.doctest:
|
||||||
parser.error('input not specified')
|
pass
|
||||||
|
|
||||||
options.prog = os.path.basename(sys.argv[0])
|
options.prog = os.path.basename(sys.argv[0])
|
||||||
options.exclude = options.exclude.split(',')
|
options.exclude = options.exclude.split(',')
|
||||||
for index, value in enumerate(options.exclude):
|
for index, value in enumerate(options.exclude):
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,11 @@ import sys
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
from subprocess import PIPE, Popen
|
from subprocess import PIPE, Popen
|
||||||
|
import select
|
||||||
|
try:
|
||||||
|
from StringIO import StringIO # NOQA
|
||||||
|
except ImportError:
|
||||||
|
from io import StringIO # NOQA
|
||||||
|
|
||||||
from flake8.util import skip_file
|
from flake8.util import skip_file
|
||||||
from flake8 import pep8
|
from flake8 import pep8
|
||||||
|
|
@ -22,7 +27,8 @@ def check_file(path, complexity=-1):
|
||||||
|
|
||||||
|
|
||||||
def check_code(code, complexity=-1):
|
def check_code(code, complexity=-1):
|
||||||
warnings = pyflakes.check(code, '<stdin>')
|
warnings = pyflakes.check(code, 'stdin')
|
||||||
|
warnings += pep8.input_file(StringIO(code))
|
||||||
if complexity > -1:
|
if complexity > -1:
|
||||||
warnings += mccabe.get_code_complexity(code, complexity)
|
warnings += mccabe.get_code_complexity(code, complexity)
|
||||||
return warnings
|
return warnings
|
||||||
|
|
@ -53,10 +59,17 @@ def main():
|
||||||
if builtins:
|
if builtins:
|
||||||
orig_builtins = set(pyflakes._MAGIC_GLOBALS)
|
orig_builtins = set(pyflakes._MAGIC_GLOBALS)
|
||||||
pyflakes._MAGIC_GLOBALS = orig_builtins | builtins
|
pyflakes._MAGIC_GLOBALS = orig_builtins | builtins
|
||||||
if args:
|
|
||||||
|
if args and options.filename is not None:
|
||||||
for path in _get_python_files(args):
|
for path in _get_python_files(args):
|
||||||
warnings += check_file(path, complexity)
|
warnings += check_file(path, complexity)
|
||||||
else:
|
else:
|
||||||
|
# wait for 1 second on the stdin fd
|
||||||
|
reads, __, __ = select.select([sys.stdin], [], [], 1.)
|
||||||
|
if reads == []:
|
||||||
|
print('input not specified')
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
stdin = sys.stdin.read()
|
stdin = sys.stdin.read()
|
||||||
warnings += check_code(stdin, complexity)
|
warnings += check_code(stdin, complexity)
|
||||||
|
|
||||||
|
|
|
||||||
2
setup.py
2
setup.py
|
|
@ -3,7 +3,7 @@ import sys
|
||||||
ispy3 = sys.version_info[0] == 3
|
ispy3 = sys.version_info[0] == 3
|
||||||
|
|
||||||
if ispy3:
|
if ispy3:
|
||||||
from distutils.core import setup
|
from distutils.core import setup # NOQA
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
from setuptools import setup # NOQA
|
from setuptools import setup # NOQA
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue