ats_utilities.generator.tar_process_member_bundle module

Module

tar_process_member_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_member_bundle.TarProcessMemberBundle(tar: TarFile, member: TarInfo, dest_full_path: str, vals: dict[str, str])[source]

Bases: object

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

It defines:

attributes:
tar - The open tar archive instance.
member - The member info to process.
dest_full_path - Absolute destination file path.
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.
dest_full_path: str
member: TarInfo
merge(other: TarProcessMemberBundle) None[source]

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

Parameters:

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

Exceptions:

None.

tar: TarFile
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]