From 45902bba13d75cad9a714f771ad42ea1dd708a08 Mon Sep 17 00:00:00 2001 From: Andy Date: Mon, 13 Oct 2025 16:43:31 +0000 Subject: [PATCH] fix: use keyword arguments for Attachment constructor in font attachment Fixes #24 When attaching fonts for ASS/SSA subtitles, the Attachment class was being called with positional arguments instead of keyword arguments. This caused the font Path object to be incorrectly interpreted, leading to an error: "Invalid URL 'Arial (arial)': No scheme supplied." Changed Attachment(font, name) to Attachment(path=font, name=name) to explicitly pass arguments by keyword, ensuring proper parameter handling. --- unshackle/commands/dl.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unshackle/commands/dl.py b/unshackle/commands/dl.py index 8b37032..4e4ad8d 100644 --- a/unshackle/commands/dl.py +++ b/unshackle/commands/dl.py @@ -1106,11 +1106,11 @@ class dl: if family_dir.exists(): fonts = family_dir.glob("*.*tf") for font in fonts: - title.tracks.add(Attachment(font, f"{font_name} ({font.stem})")) + title.tracks.add(Attachment(path=font, name=f"{font_name} ({font.stem})")) font_count += 1 elif fonts_from_system: for font in fonts_from_system: - title.tracks.add(Attachment(font, f"{font_name} ({font.stem})")) + title.tracks.add(Attachment(path=font, name=f"{font_name} ({font.stem})")) font_count += 1 else: self.log.warning(f"Subtitle uses font [text2]{font_name}[/] but it could not be found...")