flake8/flake8/util.py
Ian Cordasco 547f71b243 Closes #38.
Check to see if the file exists before checking to see if it should be
skipped.
2012-11-12 10:00:06 -05:00

39 lines
875 B
Python

from __future__ import with_statement
import re
import os
def skip_warning(warning, ignore=[]):
# XXX quick dirty hack, just need to keep the line in the warning
if warning.message.split()[0] in ignore:
return True
if not os.path.isfile(warning.filename):
return False
# XXX should cache the file in memory
with open(warning.filename) as f:
line = f.readlines()[warning.lineno - 1]
return skip_line(line)
def skip_line(line):
return line.strip().lower().endswith('# noqa')
_NOQA = re.compile(r'flake8[:=]\s*noqa', re.I | re.M)
def skip_file(path):
"""Returns True if this header is found in path
# flake8: noqa
"""
if not os.path.isfile(path):
return False
f = open(path)
try:
content = f.read()
finally:
f.close()
return _NOQA.search(content) is not None