diff options
Diffstat (limited to 'download_dependencies.py')
-rwxr-xr-x | download_dependencies.py | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/download_dependencies.py b/download_dependencies.py index c02d98f..b62c9b1 100755 --- a/download_dependencies.py +++ b/download_dependencies.py @@ -15,20 +15,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -# The script does effectively the same as "git submodule update --init" command. - +"""This script does effectively the same as "git submodule update --init" command.""" import logging -import os import sys import tarfile import tempfile from urllib.request import urlopen from zipfile import ZipFile +from pathlib import Path + +TF = "https://github.com/tensorflow/tflite-micro/archive/1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393.zip" +CMSIS = "https://github.com/ARM-software/CMSIS_5/archive/9b5df640c777563919affb4e9201c96c657adbb2.zip" +ETHOS_U_CORE_DRIVER = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.02.tar.gz" +ETHOS_U_CORE_PLATFORM = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.02.tar.gz" -tf = "https://github.com/tensorflow/tflite-micro/archive/1a0287fc5fa81fa6aa1dcfb0c5b2e01f74164393.zip" -cmsis = "https://github.com/ARM-software/CMSIS_5/archive/9b5df640c777563919affb4e9201c96c657adbb2.zip" -ethos_u_core_driver = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git/snapshot/ethos-u-core-driver-22.02.tar.gz" -ethos_u_core_platform = "https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git/snapshot/ethos-u-core-platform-22.02.tar.gz" def download(url_file: str, post_process=None): with urlopen(url_file) as response, tempfile.NamedTemporaryFile() as temp: @@ -46,10 +46,10 @@ def unzip(file, to_path): archive_path.filename = archive_path.filename[archive_path.filename.find("/") + 1:] if archive_path.filename: z.extract(archive_path, to_path) - target_path = os.path.join(to_path, archive_path.filename) + target_path = to_path / archive_path.filename attr = archive_path.external_attr >> 16 if attr != 0: - os.chmod(target_path, attr) + target_path.chmod(attr) def untar(file, to_path): @@ -63,29 +63,25 @@ def untar(file, to_path): z.extract(archive_path, to_path) -def main(dependencies_path: str): +def main(dependencies_path: Path): - download(cmsis, - lambda file: unzip(file.name, - to_path=os.path.join(dependencies_path, "cmsis"))) - download(ethos_u_core_driver, - lambda file: untar(file.name, - to_path=os.path.join(dependencies_path, "core-driver"))) - download(ethos_u_core_platform, - lambda file: untar(file.name, - to_path=os.path.join(dependencies_path, "core-platform"))) - download(tf, - lambda file: unzip(file.name, - to_path=os.path.join(dependencies_path, "tensorflow"))) + download(CMSIS, + lambda file: unzip(file.name, to_path=dependencies_path / "cmsis")) + download(ETHOS_U_CORE_DRIVER, + lambda file: untar(file.name, to_path=dependencies_path / "core-driver")) + download(ETHOS_U_CORE_PLATFORM, + lambda file: untar(file.name, to_path=dependencies_path / "core-platform")) + download(TF, + lambda file: unzip(file.name, to_path=dependencies_path / "tensorflow")) if __name__ == '__main__': logging.basicConfig(filename='download_dependencies.log', level=logging.DEBUG, filemode='w') logging.getLogger().addHandler(logging.StreamHandler(sys.stdout)) - download_dir = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "dependencies")) + download_dir = Path(__file__).parent.resolve() / "dependencies" - if os.path.isdir(download_dir): + if download_dir.is_dir(): logging.info(f'{download_dir} exists. Skipping download.') else: main(download_dir) |