From 29e3146e1f68d9362e93173d7ad86ed8600dcdf7 Mon Sep 17 00:00:00 2001 From: Ren Tatsumoto Date: Wed, 4 Jun 2025 11:03:14 +0000 Subject: [PATCH] trim file to basename before creating SoundOrVideoTag (#4057) * trim file to basename before creating SoundOrVideoTag * add import --- pylib/anki/sound.py | 1 + pylib/anki/template.py | 3 ++- qt/aqt/sound.py | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pylib/anki/sound.py b/pylib/anki/sound.py index 99a8906f3..4696fa72a 100644 --- a/pylib/anki/sound.py +++ b/pylib/anki/sound.py @@ -10,6 +10,7 @@ These can be accessed via eg card.question_av_tags() from __future__ import annotations import os +import os.path import re from dataclasses import dataclass from typing import Union diff --git a/pylib/anki/template.py b/pylib/anki/template.py index 3cc8afaf8..118a23c6b 100644 --- a/pylib/anki/template.py +++ b/pylib/anki/template.py @@ -28,6 +28,7 @@ template_legacy.py file, using the legacy addHook() system. from __future__ import annotations +import os.path from collections.abc import Sequence from dataclasses import dataclass from typing import Any, Union @@ -95,7 +96,7 @@ class PartiallyRenderedCard: def av_tag_to_native(tag: card_rendering_pb2.AVTag) -> AVTag: val = tag.WhichOneof("value") if val == "sound_or_video": - return SoundOrVideoTag(filename=tag.sound_or_video) + return SoundOrVideoTag(filename=os.path.basename(tag.sound_or_video)) else: return TTSTag( field_text=tag.tts.field_text, diff --git a/qt/aqt/sound.py b/qt/aqt/sound.py index 5ee281e56..c5d1649e8 100644 --- a/qt/aqt/sound.py +++ b/qt/aqt/sound.py @@ -4,6 +4,7 @@ from __future__ import annotations import os +import os.path import platform import re import subprocess @@ -176,7 +177,7 @@ class AVPlayer: self._stop_if_playing() def play_file(self, filename: str) -> None: - self.play_tags([SoundOrVideoTag(filename=filename)]) + self.play_tags([SoundOrVideoTag(filename=os.path.basename(filename))]) def play_file_with_caller(self, filename: str, caller: Any) -> None: if self.current_caller: @@ -185,7 +186,7 @@ class AVPlayer: self.play_file(filename) def insert_file(self, filename: str) -> None: - self._enqueued.insert(0, SoundOrVideoTag(filename=filename)) + self._enqueued.insert(0, SoundOrVideoTag(filename=os.path.basename(filename))) self._play_next_if_idle() def toggle_pause(self) -> None: