ats_utilities.generator.tar.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.tar_process_member_bundle.TarProcessMemberBundle(*, tar: TarFile, member: TarInfo, dest_full_path: str, vals: Mapping[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 TarProcessMemberBundle is valid (can be called after merge).
merge - Merges non-None values from another TarProcessMemberBundle into this one.
to_dict - Converts the TarProcessMemberBundle instance to a dictionary.
dest_full_path: str
member: TarInfo
merge(other: TarProcessMemberBundle) None[source]

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

Parameters:

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

Exceptions:
ATSTypeError: Other must be a TarProcessMemberBundle.
tar: TarFile
to_dict() dict[str, Any][source]

Converts the TarProcessMemberBundle instance to a dictionary.

Returns:

Dictionary representation of the TarProcessMemberBundle instance.

Return type:

<dict[str, Any]>

Exceptions:

None.

validate() None[source]

Validates that TarProcessMemberBundle is valid (can be called after merge). Performs validation of tar, member, dest_full_path and vals attributes. Tar must be non-None and a TarFile instance. Member must be non-None and a TarInfo instance. Dest full path must be non-None and a string. Vals must be non-None and a mapping.

Exceptions:
ATSValueError: tar must be provided.
ATSValueError: member must be provided.
ATSValueError: dest_full_path must be provided.
ATSValueError: vals must be provided.
ATSTypeError: tar must be a TarFile instance.
ATSTypeError: member must be a TarInfo instance.
ATSTypeError: dest_full_path must be a string.
ATSTypeError: vals must be a mapping.
vals: Mapping[str, str]