diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/utils/uhd_images_downloader.py.in | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/host/utils/uhd_images_downloader.py.in b/host/utils/uhd_images_downloader.py.in index 4d04342c1..5a0d2fa1d 100644 --- a/host/utils/uhd_images_downloader.py.in +++ b/host/utils/uhd_images_downloader.py.in @@ -101,12 +101,11 @@ def parse_args(): description=__doc__) parser.add_argument('-t', '--types', action='append', help="RegEx to select image sets from the manifest file.") - parser.add_argument('-i', '--install-location', - default=None, + parser.add_argument('-i', '--install-location', type=str, default=None, help="Set custom install location for images") - parser.add_argument('-m', '--manifest-location', type=str, default="", + parser.add_argument('-m', '--manifest-location', type=str, default=None, help="Set custom location for the manifest file") - parser.add_argument('-I', '--inventory-location', type=str, default="", + parser.add_argument('-I', '--inventory-location', type=str, default=None, help="Set custom location for the inventory file") parser.add_argument('-l', '--list-targets', action="store_true", default=False, help="Print targets in the manifest file to stdout, and exit.\n" @@ -225,11 +224,16 @@ def get_manifest_raw(args): needs to be parsed to be of any practical use. """ # If we're given a path to a manifest file, use it - if os.path.exists(args.manifest_location): + if args.manifest_location: manifest_fn = args.manifest_location - log("INFO", "Using manifest file at location: {}".format(manifest_fn)) - with open(manifest_fn, 'r') as manifest_file: - manifest_raw = manifest_file.read() + if os.path.exists(manifest_fn): + log("INFO", "Using manifest file at location: {}".format(manifest_fn)) + with open(manifest_fn, 'r') as manifest_file: + manifest_raw = manifest_file.read() + else: + log("WARN", "Invalid manifest file specified: {}, using default" + .format(manifest_fn)) + manifest_raw = _MANIFEST_CONTENTS # Otherwise, use the CMake Magic manifest else: manifest_raw = _MANIFEST_CONTENTS @@ -553,10 +557,16 @@ def main(): return False # Read the inventory into a dictionary we can perform lookups on - if os.path.isfile(args.inventory_location): - inventory_fn = args.inventory_location + default_inventory_fn = os.path.join(images_dir, _INVENTORY_FILENAME) + if args.inventory_location: + if os.path.isfile(args.inventory_location): + inventory_fn = args.inventory_location + else: + log("WARN", "Invalid inentory file specified: {}, using default: {}" + .format(args.inventory_location, default_inventory_fn)) + inventory_fn = default_inventory_fn else: - inventory_fn = os.path.join(images_dir, _INVENTORY_FILENAME) + inventory_fn = default_inventory_fn inventory = parse_inventory(inventory_fn=inventory_fn) log("TRACE", "Inventory: {}\n{}".format( os.path.abspath(inventory_fn), |