diff options
Diffstat (limited to 'src/mlia/backend/executor/fs.py')
-rw-r--r-- | src/mlia/backend/executor/fs.py | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/mlia/backend/executor/fs.py b/src/mlia/backend/executor/fs.py deleted file mode 100644 index 3fce19c..0000000 --- a/src/mlia/backend/executor/fs.py +++ /dev/null @@ -1,88 +0,0 @@ -# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates. -# SPDX-License-Identifier: Apache-2.0 -"""Module to host all file system related functions.""" -from __future__ import annotations - -import re -import shutil -from pathlib import Path -from typing import Literal - -from mlia.utils.filesystem import get_mlia_resources - -ResourceType = Literal["applications", "systems"] - - -def get_backend_resources() -> Path: - """Get backend resources folder path.""" - return get_mlia_resources() / "backends" - - -def get_backends_path(name: ResourceType) -> Path: - """Return the absolute path of the specified resource. - - It uses importlib to return resources packaged with MANIFEST.in. - """ - if not name: - raise ResourceWarning("Resource name is not provided") - - resource_path = get_backend_resources() / name - if resource_path.is_dir(): - return resource_path - - raise ResourceWarning(f"Resource '{name}' not found.") - - -def copy_directory_content(source: Path, destination: Path) -> None: - """Copy content of the source directory into destination directory.""" - for item in source.iterdir(): - src = source / item.name - dest = destination / item.name - - if src.is_dir(): - shutil.copytree(src, dest) - else: - shutil.copy2(src, dest) - - -def remove_resource(resource_directory: str, resource_type: ResourceType) -> None: - """Remove resource data.""" - resources = get_backends_path(resource_type) - - resource_location = resources / resource_directory - if not resource_location.exists(): - raise Exception(f"Resource {resource_directory} does not exist") - - if not resource_location.is_dir(): - raise Exception(f"Wrong resource {resource_directory}") - - shutil.rmtree(resource_location) - - -def remove_directory(directory_path: Path | None) -> None: - """Remove directory.""" - if not directory_path or not directory_path.is_dir(): - raise Exception("No directory path provided") - - shutil.rmtree(directory_path) - - -def recreate_directory(directory_path: Path | None) -> None: - """Recreate directory.""" - if not directory_path: - raise Exception("No directory path provided") - - if directory_path.exists() and not directory_path.is_dir(): - raise Exception( - f"Path {str(directory_path)} does exist and it is not a directory." - ) - - if directory_path.is_dir(): - remove_directory(directory_path) - - directory_path.mkdir() - - -def valid_for_filename(value: str, replacement: str = "") -> str: - """Replace non alpha numeric characters.""" - return re.sub(r"[^\w.]", replacement, value, flags=re.ASCII) |