Improve logging for template syntax errors
The shlex splitting can fail, resulting in error messages like:
ERROR livemedia-creator: No closing quotation
without any context in the log files. This logs the line that failed to
be split and expanded.
(cherry picked from commit f2ec60b9e4
)
Related: rhbz#1690068
This commit is contained in:
parent
392bb2acd6
commit
251eb73625
@ -67,10 +67,16 @@ class LoraxTemplate(object):
|
||||
# remove comments
|
||||
lines = [line for line in lines if not line.startswith("#")]
|
||||
|
||||
# split with shlex and perform brace expansion
|
||||
lines = [split_and_expand(line) for line in lines]
|
||||
|
||||
return lines
|
||||
# split with shlex and perform brace expansion. This can fail, so we unroll the loop
|
||||
# for better error reporting.
|
||||
expanded_lines = []
|
||||
try:
|
||||
for line in lines:
|
||||
expanded_lines.append(split_and_expand(line))
|
||||
except Exception as e:
|
||||
logger.error('shlex error processing "%s": %s', line, str(e))
|
||||
raise
|
||||
return expanded_lines
|
||||
|
||||
def split_and_expand(line):
|
||||
return [exp for word in shlex.split(line) for exp in brace_expand(word)]
|
||||
|
Loading…
Reference in New Issue
Block a user