diff options
Diffstat (limited to 'scripts/lib/wic')
-rw-r--r-- | scripts/lib/wic/ksparser.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index c73a456766..3722799b51 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -25,11 +25,12 @@ # Ed Bartosh <ed.bartosh> (at] linux.intel.com> - +import os import shlex from argparse import ArgumentParser, ArgumentError, ArgumentTypeError from wic.partition import Partition +from wic.utils.misc import find_canned class KickStartError(Exception): pass @@ -78,6 +79,17 @@ def overheadtype(arg): return result +def cannedpathtype(arg): + """ + Custom type for ArgumentParser + Tries to find file in the list of canned wks paths + """ + scripts_path = os.path.abspath(os.path.dirname(__file__) + '../../..') + result = find_canned(scripts_path, arg) + if not result: + raise ArgumentTypeError("file not found: %s" % arg) + return result + class KickStart(object): def __init__(self, confpath): @@ -117,7 +129,7 @@ class KickStart(object): bootloader.add_argument('--source') include = subparsers.add_parser('include') - include.add_argument('path') + include.add_argument('path', type=cannedpathtype) self._parse(parser, confpath) |