ats_utilities.generator.tar_process_bundle module

Module

tar_process_bundle.py

Copyright

Copyright (C) 2017 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> ats_utilities is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ats_utilities is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Info

Defines parameter bundle dataclass for component dependency management. Encapsulates core runtime components for simplifcation.

class ats_utilities.generator.tar_process_bundle.TarProcessBundle(archive_path: str, target_dir: str, source_dir: str, path_replacements: dict[str, str], exclude_patterns: list[str], vals: dict[str, str])[source]

Bases: object

Defines class TarProcessBundle with method(s). Encapsulates tar processing parameters for simplifcation.

It defines:

attributes:
archive_path - Path to the .tgz archive containing templates.
target_dir - Target directory where output should be written.
source_dir - Source directory in tar to extract.
path_replacements - String replacements mapping.
exclude_patterns - Patterns of files/directories to exclude.
vals - Computed template values for substitution.
methods:
validate - Validates that essential components are set.
merge - Merges non-None values from another bundle into this one.
to_dict - Converts the bundle attributes to a dictionary.
archive_path: str
exclude_patterns: list[str]
merge(other: TarProcessBundle) None[source]

Merges non-None values from another bundle into this one.

Parameters:

other (<TarProcessBundle>) – Another bundle to merge into this one.

Exceptions:

None.

path_replacements: dict[str, str]
source_dir: str
target_dir: str
to_dict() dict[str, Any][source]

Converts the bundle attributes to a dictionary.

Returns:

Dictionary representation of the bundle attributes.

Return type:

<dict[str, Any]>

Exceptions:

None.

validate() None[source]

Validates that essential components are set.

Exceptions:
ATSValueError: Archive path must be provided.
ATSValueError: Target directory must be provided.
ATSValueError: Source directory must be provided.
ATSValueError: Path replacements must be provided.
ATSValueError: Exclude patterns must be provided.
ATSValueError: Values must be provided.
vals: dict[str, str]