wic: improve processing of parseing errors

Caught argparse.ArgumentError
Included .ks file name and line number into the error messages.

(From OE-Core rev: 549c76ebda9afba0771d6d2c9b0b83f7a479c626)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2016-01-18 14:22:43 +02:00 committed by Richard Purdie
parent 1ed97cc886
commit d2090a6ba1
1 changed files with 8 additions and 3 deletions

View File

@ -27,7 +27,7 @@
import shlex
from argparse import ArgumentParser, ArgumentTypeError
from argparse import ArgumentParser, ArgumentError, ArgumentTypeError
from wic.partition import Partition
@ -113,11 +113,16 @@ class KickStart(object):
line = line.strip()
lineno += 1
if line and line[0] != '#':
parsed = parser.parse_args(shlex.split(line))
try:
parsed = parser.parse_args(shlex.split(line))
except ArgumentError as err:
raise KickStartError('%s:%d: %s' % \
(confpath, lineno, err))
if line.startswith('part'):
self.partitions.append(Partition(parsed, lineno))
else:
if not self.bootloader:
self.bootloader = parsed
else:
raise KickStartError("Error: more than one bootloader specified")
raise KickStartError("%s:%d: more than one bootloader "\
"specified" % (confpath, lineno))