Archived
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.
d2e6856899165160e22359744a32a7a477f70e04
为什么:歌单解析的唯一上游通道,94 行单函数把「歌单头解析 / trackIds 分批拉明细 / 失败批次记账 / incomplete 标记 / 错误映射」五件事揉在 一个 try 里;曲目字段映射与搜索歌曲路逐字段重复。 拆出(模块级,与 search_music 拆解同风格): - _song_base_fields:歌曲条目公共字段(搜索/歌单共用同一容错口径), _map_song_item 改为其加 type 键的包装 - _playlist_track_ids:trackIds → 字符串 ID 列表 - _collect_playlist_tracks:批次循环整体(失败批次计数、脏 ID 跳批、 明细缺 id 跳过、incomplete 判定输入),嵌套 3 是批次语义固有, 集中在单一职责函数内 保留语义:脏 ID('①'.isdigit() 为真但 int() 抛 ValueError)跳过整批 且不计 failed_batches;批次阶段网络错误仍映射「获取歌单详情请求失败」。 先写测试后动代码:新增 tests/test_playlist_detail.py 11 例,在未改动 实现上跑绿(修正 1 例测试自身的替身消费顺序),覆盖此前零测试路径—— playlist:null 防枚举、业务 code 错误、非 dict 响应、批次失败记账、 脏 ID 跳批、100/批分批、错误映射。 门禁:ruff 全过 · pyright 0/0 · pytest 359 passed(348→359)。
Languages
Python
61%
TypeScript
32.2%
CSS
6.6%
Dockerfile
0.1%