uhd/images/populate_images.py
Lane Kolbly f4463198ac images: Make get_images_dir return absolute path
__file__ isn't always an absolute path. It is sometimes when you import
it via a module, but if you directly call it (e.g. via
`python3 some_file.py`) then it seems like its a relative path. This
avoids any uncertainty by forcing it to be an absolute path.
2022-01-25 13:02:15 -06:00

48 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
#
# Copyright 2014 Ettus Research LLC
# Copyright 2018 Ettus Research, a National Instruments Company
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
"""
Populates the current directory with a valid set of binaries for the
current commit.
"""
import os
import sys
import subprocess
def get_images_dir():
"""
Returns the absolute position of the images/ subdir
in the UHD source tree.
"""
return os.path.dirname(os.path.abspath(__file__))
def download_images(img_root_dir=None):
" Go, go, go! "
# Switch to correct dir
img_root_dir = img_root_dir or os.path.join(get_images_dir(), 'images')
if not os.path.isdir(img_root_dir):
print("== Creating images directory...")
os.mkdir(img_root_dir)
os.chdir(get_images_dir())
print("== Starting download...")
try:
downloader_cmd = [
'python3',
'../host/utils/uhd_images_downloader.py.in',
'-i', img_root_dir,
'-m', 'manifest.txt'
]
subprocess.check_call(downloader_cmd)
except (subprocess.CalledProcessError, OSError):
print("[ERROR] Failed to run downloader script.")
sys.exit(1)
print("== Done!")
if __name__ == "__main__":
download_images()