fix: ensure encoding

Use an alternative approach as in #587 as it introduces an unexpected behavior in printing output

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2024-10-26 17:37:48 +02:00
parent e63d9d67ec
commit 4925021aa8
2 changed files with 9 additions and 6 deletions

View File

@@ -9,13 +9,7 @@
# This file may be distributed under the terms of the GNU GPLv3 license #
# ======================================================================= #
import io
import sys
from kiauh.main import main
# ensure that all output is utf-8 encoded
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
if __name__ == "__main__":
main()

View File

@@ -6,15 +6,24 @@
# #
# This file may be distributed under the terms of the GNU GPLv3 license #
# ======================================================================= #
import io
import sys
from core.logger import Logger
from core.menus.main_menu import MainMenu
from core.settings.kiauh_settings import KiauhSettings
def ensure_encoding() -> None:
if sys.stdout.encoding == "UTF-8" or not isinstance(sys.stdout, io.TextIOWrapper):
return
sys.stdout.reconfigure(encoding="utf-8")
def main() -> None:
try:
KiauhSettings()
ensure_encoding()
MainMenu().run()
except KeyboardInterrupt:
Logger.print_ok("\nHappy printing!\n", prefix=False)