On Fri, Jul 25, 2025 at 11:15 AM Luca Vizzarro <luca.vizza...@arm.com>
wrote:

>
> +
> +@overload
> +def make_file_path(node: Node, file_name: str, custom_path: PurePath |
> None = None) -> PurePath: ...
> +
> +
> +@overload
> +def make_file_path(node: None, file_name: str, custom_path: PurePath |
> None = None) -> Path: ...
> +
> +
> +def make_file_path(
> +    node: Node | None, file_name: str, custom_path: PurePath | None = None
>

Maybe it makes sense to set a default value of None for node? That way
people don't have to pass in None every time they want to make a path on
the DTS engine system.


>
> +    def open(
> +        self, file_mode: BinaryMode | TextMode = "rb", buffering: int = -1
> +    ) -> Union["ArtifactFile", TextIOWrapper]:
> +        """Open the artifact file.
> +
> +        Args:
> +            file_mode: The mode of file opening.
> +            buffering: The size of the buffer to use. If -1, the default
> buffer size is used.
> +
> +        Returns:
> +            An instance of :class:`ArtifactFile` or
> :class:`TextIOWrapper`.
> +        """
> +        if self._fd is not None and not self._fd.closed:
> +            self._logger.warning(
> +                f"Artifact {self.path} is already open. Closing the
> previous file descriptor."
> +            )
> +            self._fd.close()
> +        elif not self._directories_created:
> +            self.mkdir()
> +
> +        # SFTPFile does not support text mode, therefore everything needs
> to be handled as binary.
> +        if "t" in file_mode:
> +            actual_mode = cast(BinaryMode, cast(str,
> file_mode).replace("t", "") + "b")
>

Is it worth logging this event to prevent confusion? (where we change the
requested mode to binary mode)

+        elif "b" not in file_mode:
> +            actual_mode = cast(BinaryMode, file_mode + "b")
>

same


>
> --
> 2.43.0
>
>
Reviewed-by: Patrick Robb <pr...@iol.unh.edu>

Reply via email to