bamignore now prints the exact error
This commit is contained in:
@@ -161,14 +161,21 @@ class bam_config:
|
|||||||
import os
|
import os
|
||||||
bamignore = os.path.join(path, id_)
|
bamignore = os.path.join(path, id_)
|
||||||
if os.path.isfile(bamignore):
|
if os.path.isfile(bamignore):
|
||||||
with open(bamignore, 'r') as f:
|
with open(bamignore, 'r', encoding='utf-8') as f:
|
||||||
patterns = f.read().split("\n")
|
compiled_patterns = []
|
||||||
import re
|
|
||||||
try:
|
|
||||||
compiled_patterns = [re.compile(p) for p in patterns]
|
|
||||||
except re.error:
|
|
||||||
fatal("Your .bamignore file contains invalid regular expressions")
|
|
||||||
|
|
||||||
|
import re
|
||||||
|
for i, l in enumerate(f):
|
||||||
|
l = l.rstrip()
|
||||||
|
if l:
|
||||||
|
try:
|
||||||
|
p = re.compile(l)
|
||||||
|
except re.error as e:
|
||||||
|
fatal("%s:%d file contains an invalid regular expression, %s" %
|
||||||
|
(bamignore, i + 1, str(e)))
|
||||||
|
compiled_patterns.append(p)
|
||||||
|
|
||||||
|
if compiled_patterns:
|
||||||
def filter_ignore(f):
|
def filter_ignore(f):
|
||||||
for pattern in filter_ignore.compiled_patterns:
|
for pattern in filter_ignore.compiled_patterns:
|
||||||
if re.match(pattern, f):
|
if re.match(pattern, f):
|
||||||
@@ -177,7 +184,7 @@ class bam_config:
|
|||||||
filter_ignore.compiled_patterns = compiled_patterns
|
filter_ignore.compiled_patterns = compiled_patterns
|
||||||
|
|
||||||
return filter_ignore
|
return filter_ignore
|
||||||
else:
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user