#!/usr/bin/env python3 """Console encoding helpers for PPT Master CLI scripts.""" from __future__ import annotations import io import sys from typing import TextIO def _reconfigure_stream(stream: TextIO) -> TextIO: try: stream.reconfigure(encoding="utf-8", errors="replace") return stream except AttributeError: buffer = getattr(stream, "buffer", None) if buffer is None: return stream return io.TextIOWrapper(buffer, encoding="utf-8", errors="replace") except (OSError, ValueError): return stream def configure_utf8_stdio() -> None: """Use UTF-8 for CLI stdout/stderr, including Windows non-UTF-8 locales.""" sys.stdout = _reconfigure_stream(sys.stdout) sys.stderr = _reconfigure_stream(sys.stderr)