blob: 9248981e5c4f8a15553d17d6719cd891487f46a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import os
import sys
from typing import Any, Dict, List
from pylama.lint import Linter as BaseLinter
from .isort import SortImports
class Linter(BaseLinter):
def allow(self, path: str) -> bool:
"""Determine if this path should be linted."""
return path.endswith('.py')
def run(self, path: str, **meta: Any) -> List[Dict[str, Any]]:
"""Lint the file. Return an array of error dicts if appropriate."""
with open(os.devnull, 'w') as devnull:
# Suppress isort messages
sys.stdout = devnull
if SortImports(path, check=True).incorrectly_sorted:
return [{
'lnum': 0,
'col': 0,
'text': 'Incorrectly sorted imports.',
'type': 'ISORT'
}]
else:
return []
|