Actually use the exclude pattern. Closes #47.

This commit is contained in:
Anthony Sottile
2014-03-31 23:35:25 -07:00
parent ac67af21ec
commit 535be5b33a
3 changed files with 17 additions and 8 deletions

View File

@@ -40,12 +40,16 @@ def get_all_files():
def get_files_matching(all_file_list_strategy):
@functools.wraps(all_file_list_strategy)
@memoize_by_cwd
def wrapper(expr):
regex = re.compile(expr)
def wrapper(include_expr, exclude_expr):
include_regex = re.compile(include_expr)
exclude_regex = re.compile(exclude_expr)
return set(filter(os.path.exists, (
filename
for filename in all_file_list_strategy()
if regex.search(filename)
if (
include_regex.search(filename) and
not exclude_regex.search(filename)
)
)))
return wrapper