ats_utilities.config_io.file_bundle module

Module

file_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 data classes for dependency group simplification. Encapsulates file configuration and processor utilities to minimize constructor overhead.

class ats_utilities.config_io.file_bundle.FileBundle(*, file_path: str | None = None, file_mode: str | None = None, file_format: str | None = None)[source]

Bases: object

Defines class FileBundle with attribute(s) and method(s). Encapsulates file configuration and processor utilities to minimize constructor overhead. Acts as a Parameter Object to clean up highly repetitive constructor arguments.

It defines:

attributes:
file_path - File path (default None).
file_mode - File mode (default None).
file_format - File format (default None).
methods:
validate - Validates that the FileBundle is valid (can be called after merge).
merge - Merges non-None values from another bundle into this one.
to_dict - Converts the bundle attributes to a dictionary.
file_format: str | None
file_mode: str | None
file_path: str | None
merge(other: FileBundle) None[source]

Merges non-None values from another FileBundle instance into this one.

Parameters:

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

Exceptions:
ATSTypeError: Other must be a FileBundle instance.
to_dict() dict[str, Any][source]

Converts the FileBundle instance to a dictionary.

Returns:

Dictionary representation of the FileBundle instance.

Return type:

<dict[str, Any]>

Exceptions:

None.

validate() None[source]

Validates that FileBundle is valid (can be called after merge). Performs validation of file path, file mode and file format attributes. File path must be non-None and a string. File mode must be non-None and a string. File format must be non-None and a string.

Exceptions:
ATSValueError: File path must be provided.
ATSValueError: File mode must be provided.
ATSValueError: File format must be provided.
ATSTypeError: File path must be a string.
ATSTypeError: File mode must be a string.
ATSTypeError: File format must be a string.