This repository has been archived on 2026-10-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
NeteaseUrl/music_api/compat.py
T
snowy-yang 0dbbb3ed63 refactor: 移除 music_api 的 16 个死掉的同步兼容门面
music_api/compat.py 是「同步调用异步实现」的桥接门面——每个方法都用
core.async_bridge.run_sync 把 NeteaseAPI 的协程跑起来。调用方此前已陆续
迁到原生异步(await NeteaseAPI().xxx()),这 16 个方法在仓内(web/
services/ tests/ CLI)已零调用,只剩 __init__ 的再导出,属迁移期残留。

仅 url_v1 还有唯一调用方(music_api.podcast 的同步解析路径),予以保留,
并在 docstring 标注「应删不应增」,待 worker 子系统异步化时一并清除。

门禁:ruff 全过 / pyright 0-0 / pytest 387 项,失败数与前次一致(2 项
index golden,源于未提交的前端迁移,与本次无关)。
2026-09-27 17:51:22 +08:00

26 lines
981 B
Python

# -*- coding: utf-8 -*-
"""同步兼容函数接口(内部经 run_sync 桥接异步实现)。
(自 music_api.py 拆出,行为与原实现一致。)
⚠️ 迁移期残留:本模块的定位是「同步代码调用异步实现」的桥接门面。调用方陆续
改为原生异步(`await NeteaseAPI().xxx()`)后,这里的方法即成为死代码,应删除而
非新增。当前仅 `url_v1` 仍有唯一调用方(`music_api.podcast` 的同步解析路径),
故本文件只保留它——其余 16 个同步门面已随调用方异步化一并移除。
"""
from typing import Any
from core.async_bridge import run_sync # 模块级同步兼容接口用的同步/异步桥
from .api import (
NeteaseAPI,
)
# 向后兼容的函数接口
def url_v1(song_id: int, level: str, cookies: dict[str, str]) -> dict[str, Any]:
"""获取歌曲URL(向后兼容)"""
api = NeteaseAPI()
return run_sync(api.get_song_url(song_id, level, cookies))