From 1b22c80e5c0a225454890400eb23667f60c0ee01 Mon Sep 17 00:00:00 2001 From: Hellow <74311245+HeIIow2@users.noreply.github.com> Date: Mon, 6 May 2024 18:48:13 +0200 Subject: [PATCH] fix: removing the possibility or file names containing / --- music_kraken/audio/metadata.py | 2 +- music_kraken/utils/shared.py | 2 +- music_kraken/utils/string_processing.py | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/music_kraken/audio/metadata.py b/music_kraken/audio/metadata.py index 1d37419..1431112 100644 --- a/music_kraken/audio/metadata.py +++ b/music_kraken/audio/metadata.py @@ -79,7 +79,7 @@ def write_metadata_to_target(metadata: Metadata, target: Target, song: Song): with temp_target.open("wb") as f: f.write(r.content) - converted_target: Target = Target.temp(name=f"{song.title}.jpeg") + converted_target: Target = Target.temp(name=f"{song.title.replace('/', '_')}") with Image.open(temp_target.file_path) as img: # crop the image if it isn't square in the middle with minimum data loss width, height = img.size diff --git a/music_kraken/utils/shared.py b/music_kraken/utils/shared.py index b75cf7f..8f671f9 100644 --- a/music_kraken/utils/shared.py +++ b/music_kraken/utils/shared.py @@ -19,7 +19,7 @@ DEBUG_OBJECT_TRACE = DEBUG and False DEBUG_OBJECT_TRACE_CALLSTACK = DEBUG_OBJECT_TRACE and False DEBUG_YOUTUBE_INITIALIZING = DEBUG and False DEBUG_PAGES = DEBUG and False -DEBUG_DUMP = DEBUG and True +DEBUG_DUMP = DEBUG and False DEBUG_PRINT_ID = DEBUG and True if DEBUG: diff --git a/music_kraken/utils/string_processing.py b/music_kraken/utils/string_processing.py index 1e46a58..22ae63e 100644 --- a/music_kraken/utils/string_processing.py +++ b/music_kraken/utils/string_processing.py @@ -52,7 +52,14 @@ def fit_to_file_system(string: Union[str, Path], hidden_ok: bool = False) -> Uni string = string[1:] string = string.replace("/", "_").replace("\\", "_") + + try: + string = translit(string, reversed=True) + except LanguageDetectionError: + pass + string = sanitize_filename(string) + return string if isinstance(string, Path):