def lintthesql(args): cwd = os.getcwd() config_file = cwd + '/.lintthesql.yml' config_file_path = Path(config_file) if config_file_path.is_file(): config = Config(config_file) else: # doesn't exist print('Config file does not exist you dummy!') sys.exit() linter = Linter(config) should_rewrite = args.fix input_file = cwd + '/' + args.file input_file_path = Path(input_file) if input_file_path.is_file(): try: lint_file(linter, input_file) except ValueError as error: print(error) elif input_file_path.is_dir(): input_files = [] for root, dirs, files in os.walk(input_file_path): path = root.split(os.sep) for file in files: input_file = root + '/' + file if os.path.splitext(input_file)[1] == '.' + args.type.replace( '.', ''): input_files.append(input_file) total_input_files = len(input_files) for input_file in input_files: try: lint_file(linter, input_file) except ValueError as error: print(error) input_file_index = input_files.index(input_file) progress = (input_file_index + 1) / total_input_files * 100 if nyan_progress: nyan_progress.update(progress) else: # doesn't exist print('Input file does not exist you dummy!') sys.exit()
def run_linter(cell): code = "\n".join(cell.get('source', [])) tree = ast.parse(code) l = Linter() l.visit(tree) return [k.msg for k in l.warnings.keys()]
from linter import Linter from lint_rule_final_classes import LintRuleFinalClasses def emitWarning(file, line, message): # Xcode line indexes are 1 based, not 0 based print(file + ":" + str(line+1) + ": warning: " + message) #echo "/foo/bar/tmp.sh:42: error: This is the error message" ###### MAIN ###### # First argument: Project directory root = sys.argv[1] # Second argument: Search path search_path = sys.argv[2] for file_path in glob.glob(search_path + '/**/*.swift', recursive = True): with open(file_path, 'r') as file: linter = Linter() linter.add_rule(LintRuleFinalClasses()) warnings = linter.warnings_for_file(file.read()) for warning in warnings: relative_path = file_path[len(root)+1:] emitWarning(relative_path, warning.line, warning.message)
def makeSUT(self): linter = Linter() linter.add_rule(LintRuleFinalClasses()) return linter