Keep master_core off Qt so the web image starts

master_core imported safe_title from font_manager, which imports PyQt5 at
module load. The web extra installs no Qt, so `ujm-web` crashed on startup
with "No module named 'PyQt5'" inside the container. safe_title is only a
UTF-8 round-trip, so master_core now carries its own Qt-free copy; the
desktop path keeps using font_manager's.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015UXA39Sh9coAx4FhRkd8R2
This commit is contained in:
2026-09-14 02:33:28 +09:00
parent a1fed2cd71
commit 5c918109d5
+7 -1
View File
@@ -7,7 +7,13 @@ import numpy as np
from mutagen.mp3 import MP3 from mutagen.mp3 import MP3
from mutagen.easyid3 import EasyID3 from mutagen.easyid3 import EasyID3
from font_manager import safe_title
def safe_title(title):
# Deliberately not font_manager.safe_title: that module imports PyQt5 at load
# time, and master_core is on the Qt-free web path (the `web` extra has no Qt).
if not title:
return title
return title.encode('utf-8', errors='replace').decode('utf-8')
def _try_mp3_tags(file_path): def _try_mp3_tags(file_path):