From 5c788ccaed9bd617259f20f6589112d4181f7e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sat, 21 Dec 2024 19:32:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/cli.py | 3 ++- xiaomusic/utils.py | 12 ++++++++++-- xiaomusic/xiaomusic.py | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/xiaomusic/cli.py b/xiaomusic/cli.py index abc292a..fd2ba45 100644 --- a/xiaomusic/cli.py +++ b/xiaomusic/cli.py @@ -7,7 +7,7 @@ import signal import sentry_sdk from sentry_sdk.integrations.asyncio import AsyncioIntegration -from sentry_sdk.integrations.logging import LoggingIntegration +from sentry_sdk.integrations.logging import LoggingIntegration, ignore_logger LOGO = r""" __ __ _ __ __ _ @@ -32,6 +32,7 @@ sentry_sdk.init( ], # debug=True, ) +ignore_logger("miservice") def main(): diff --git a/xiaomusic/utils.py b/xiaomusic/utils.py index fc1e788..d6bfb03 100644 --- a/xiaomusic/utils.py +++ b/xiaomusic/utils.py @@ -336,7 +336,7 @@ async def get_local_music_duration(filename, ffmpeg_location="./ffmpeg/bin"): m = await loop.run_in_executor(None, mutagen.File, filename) duration = m.info.length except Exception as e: - log.error(f"Error getting local music {filename} duration: {e}") + log.warning(f"Error getting local music {filename} duration: {e}") return duration @@ -673,8 +673,16 @@ def _resize_save_image(image_bytes, save_path, max_size=300): def extract_audio_metadata(file_path, save_root): - audio = mutagen.File(file_path) metadata = Metadata() + + audio = None + try: + audio = mutagen.File(file_path) + except Exception as e: + log.warning(f"Error extract_audio_metadata file: {file_path} {e}") + if audio is None: + return asdict(metadata) + tags = audio.tags if tags is None: return asdict(metadata) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index d026a07..a03e85c 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -325,7 +325,7 @@ class XiaoMusic: # 检查响应状态码 if r.status != 200: - self.log.error(f"Request failed with status {r.status}") + self.log.warning(f"Request failed with status {r.status}") continue except asyncio.CancelledError: @@ -1646,7 +1646,7 @@ class XiaoMusicDevice: ) await self.stop_if_xiaoai_is_playing(device_id) except Exception as e: - self.log.exception(f"Execption {e}") + self.log.warning(f"Execption {e}") async def get_if_xiaoai_is_playing(self): playing_info = await self.xiaomusic.mina_service.player_get_status(