from __future__ import absolute_import, print_function
import os
import time
from mozlint import result
from mozlint.errors import LintException
def badreturncode(files, config, **lintargs):
return 1
def external(files, config, **lintargs):
if lintargs.get('fix'):
return []
results = []
for path in files:
if os.path.isdir(path):
continue
with open(path, 'r') as fh:
for i, line in enumerate(fh.readlines()):
if 'foobar' in line:
results.append(result.from_config(
config, path=path, lineno=i+1, column=1, rule="no-foobar"))
return results
def raises(files, config, **lintargs):
raise LintException("Oh no something bad happened!")
def slow(files, config, **lintargs):
time.sleep(2)
return []
def structured(files, config, logger, **kwargs):
for path in files:
if os.path.isdir(path):
continue
with open(path, 'r') as fh:
for i, line in enumerate(fh.readlines()):
if 'foobar' in line:
logger.lint_error(path=path,
lineno=i+1,
column=1,
rule="no-foobar")
def passes(files, config, **lintargs):
return []
def setup(**lintargs):
print('setup passed')
def setupfailed(**lintargs):
print('setup failed')
return 1
def setupraised(**lintargs):
print('setup raised')
raise LintException('oh no setup failed')