mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-01 10:14:59 +00:00
Refactored flake8 linting to use subprocess module instead of modifying sys.argv and sys.stdout.
This commit is contained in:
parent
66fadadea1
commit
b44c24678c
1 changed files with 20 additions and 30 deletions
|
@ -124,39 +124,29 @@ class Linter:
|
||||||
|
|
||||||
def flake8_lint(self, rel_fname):
|
def flake8_lint(self, rel_fname):
|
||||||
fatal = "E9,F821,F823,F831,F406,F407,F701,F702,F704,F706"
|
fatal = "E9,F821,F823,F831,F406,F407,F701,F702,F704,F706"
|
||||||
flake8 = f"flake8 --select={fatal} --show-source --isolated"
|
flake8_cmd = [
|
||||||
|
sys.executable,
|
||||||
|
"-m",
|
||||||
|
"flake8",
|
||||||
|
f"--select={fatal}",
|
||||||
|
"--show-source",
|
||||||
|
"--isolated",
|
||||||
|
rel_fname,
|
||||||
|
]
|
||||||
|
|
||||||
original_argv = sys.argv
|
text = f"## Running: {' '.join(flake8_cmd)}\n\n"
|
||||||
original_stdout = sys.stdout
|
|
||||||
|
|
||||||
sys.argv = flake8.split() + [rel_fname]
|
|
||||||
sys.stdout = io.TextIOWrapper(io.BytesIO(), encoding="utf-8")
|
|
||||||
|
|
||||||
text = f"## Running: {' '.join(sys.argv)}\n\n"
|
|
||||||
|
|
||||||
original_stdout.write("text:")
|
|
||||||
original_stdout.write(text)
|
|
||||||
original_stdout.write("\n")
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
runpy.run_module("flake8", run_name="__main__")
|
result = subprocess.run(
|
||||||
except SystemExit as e:
|
flake8_cmd,
|
||||||
dump(e.code)
|
cwd=self.root,
|
||||||
if e.code == 0:
|
capture_output=True,
|
||||||
errors = None
|
text=True,
|
||||||
else:
|
check=False,
|
||||||
dump("wtf")
|
)
|
||||||
#sys.stdout.seek(0)
|
errors = result.stdout + result.stderr
|
||||||
dump("wtf1")
|
except Exception as e:
|
||||||
errors = sys.stdout.read()
|
errors = f"Error running flake8: {str(e)}"
|
||||||
|
|
||||||
sys.stdout = original_stdout
|
|
||||||
sys.argv = original_argv
|
|
||||||
finally:
|
|
||||||
sys.stdout = original_stdout
|
|
||||||
sys.argv = original_argv
|
|
||||||
|
|
||||||
dump(errors)
|
|
||||||
|
|
||||||
if not errors:
|
if not errors:
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue