Archived
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,源于未提交的前端迁移,与本次无关)。
26 lines
981 B
Python
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))
|