From 66fb904f95664d452642e148f4d31f37243ea1ca Mon Sep 17 00:00:00 2001 From: Hellow2 Date: Tue, 18 Apr 2023 09:13:04 +0200 Subject: [PATCH] probably fixed encoding error on windows --- src/music_kraken/utils/config/config.py | 6 ++++-- src/music_kraken/utils/path_manager/locations.py | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/music_kraken/utils/config/config.py b/src/music_kraken/utils/config/config.py index e207479..f4e7282 100644 --- a/src/music_kraken/utils/config/config.py +++ b/src/music_kraken/utils/config/config.py @@ -1,4 +1,5 @@ from typing import Union, Tuple, Dict, Iterable, List +from datetime import datetime import logging import os @@ -21,6 +22,7 @@ class Config: Description("IMPORTANT: If you modify this file, the changes for the actual setting, will be kept as is.\n" "The changes you make to the comments, will be discarded, next time you run music-kraken. " "Have fun!"), + Description(f"Latest reset: {datetime.now()}"), Description("Those are all Settings for the audio codec.\n" "If you, for some reason wanna fill your drive real quickly, I mean enjoy HIFI music,\n" "feel free to tinker with the Bitrate or smth. :)"), @@ -105,7 +107,7 @@ class Config: self.set_name_to_value(name, value) def read_from_config_file(self, path: os.PathLike): - with open(path, "r") as conf_file: + with open(path, "r", encoding=LOCATIONS.FILE_ENCODING) as conf_file: for section in self._section_list: section.reset_list_attribute() @@ -113,7 +115,7 @@ class Config: self._parse_conf_line(line, i+1) def write_to_config_file(self, path: os.PathLike): - with open(path, "w") as conf_file: + with open(path, "w", encoding=LOCATIONS.FILE_ENCODING) as conf_file: conf_file.write(self.config_string) def __iter__(self) -> Iterable[Attribute]: diff --git a/src/music_kraken/utils/path_manager/locations.py b/src/music_kraken/utils/path_manager/locations.py index 9c4880b..7f7c754 100644 --- a/src/music_kraken/utils/path_manager/locations.py +++ b/src/music_kraken/utils/path_manager/locations.py @@ -9,6 +9,8 @@ from .config_directory import get_config_directory class Locations: def __init__(self, application_name: os.PathLike = "music-kraken"): + self.FILE_ENCODING: str = "utf-8" + self.TEMP_DIRECTORY = Path(tempfile.gettempdir(), application_name) self.TEMP_DIRECTORY.mkdir(exist_ok=True, parents=True)