11from modules .plat .tx .utils import signRequest
2- from modules .plat .tx import build_common_params
2+ from modules .plat .tx import build_comm
33from server .models import SongInfo
44from server .exceptions import getSongInfoFailed
5- from modules .plat import formatPlayTime , formatSinger
6- from modules .lyric .tx import getLyric
5+ from modules .plat import formatSinger
76
87
98async def IdGetInfo (songid : int ) -> SongInfo :
10- commonParams = await build_common_params ()
11- infoReqBody = {
12- "comm" : commonParams ,
9+ comm = await build_comm ()
10+ reqBody = {
11+ "comm" : comm ,
1312 "req" : {
1413 "module" : "music.trackInfo.UniformRuleCtrl" ,
1514 "method" : "CgiGetTrackInfo" ,
1615 "param" : {"types" : [1 ], "ids" : [songid ], "ctx" : 0 },
1716 },
1817 }
19- infoRequest = await signRequest (infoReqBody )
20- infoBody = infoRequest .json ()
18+ resp = await signRequest (reqBody )
19+ respBody = resp .json ()
2120
22- if infoBody ["code" ] != 0 or infoBody ["req" ]["code" ] != 0 :
21+ if respBody ["code" ] != 0 or respBody ["req" ]["code" ] != 0 :
2322 raise getSongInfoFailed ("获取音乐信息失败" )
2423
25- info = infoBody ["req" ]["data" ]["tracks" ][0 ]
26-
27- try :
28- lyric = await getLyric (info ["id" ])
29- except :
30- lyric = None
24+ info = respBody ["req" ]["data" ]["tracks" ][0 ]
3125
3226 return SongInfo (
3327 songId = info .get ("id" ),
@@ -40,38 +34,29 @@ async def IdGetInfo(songid: int) -> SongInfo:
4034 ),
4135 albumId = info .get ("album" , {}).get ("id" ),
4236 albumMid = info .get ("album" , {}).get ("mid" ),
43- duration = (
44- formatPlayTime (info .get ("interval" ))
45- if info .get ("interval" ) is not None
46- else None
47- ),
37+ duration = info .get ("interval" , 0 ),
4838 mediaMid = info .get ("file" , {}).get ("media_mid" ),
49- lyric = lyric ,
5039 )
5140
5241
5342async def MidGetInfo (mid : str ) -> SongInfo :
54- commonParams = await build_common_params ()
55- infoReqBody = {
56- "comm" : commonParams ,
43+ comm = await build_comm ()
44+ reqBody = {
45+ "comm" : comm ,
5746 "req" : {
5847 "method" : "get_song_detail_yqq" ,
5948 "param" : {"song_type" : 0 , "song_mid" : mid },
6049 "module" : "music.pf_song_detail_svr" ,
6150 },
6251 }
63- infoRequest = await signRequest (infoReqBody )
64- infoBody = infoRequest .json ()
6552
66- if infoBody [ "code" ] != 0 or infoBody [ "req" ][ "code" ] != 0 :
67- raise getSongInfoFailed ( "获取音乐信息失败" )
53+ resp = await signRequest ( reqBody )
54+ respBody = resp . json ( )
6855
69- info = infoBody ["req" ]["data" ]["track_info" ]
56+ if respBody ["code" ] != 0 or respBody ["req" ]["code" ] != 0 :
57+ raise getSongInfoFailed ("获取音乐信息失败" )
7058
71- try :
72- lyric = await getLyric (info ["id" ])
73- except :
74- lyric = None
59+ info = respBody ["req" ]["data" ]["track_info" ]
7560
7661 return SongInfo (
7762 songId = info .get ("id" ),
@@ -84,13 +69,8 @@ async def MidGetInfo(mid: str) -> SongInfo:
8469 ),
8570 albumId = info .get ("album" , {}).get ("id" ),
8671 albumMid = info .get ("album" , {}).get ("mid" ),
87- duration = (
88- formatPlayTime (info .get ("interval" ))
89- if info .get ("interval" ) is not None
90- else None
91- ),
72+ duration = info .get ("interval" , 0 ),
9273 mediaMid = info .get ("file" , {}).get ("media_mid" ),
93- lyric = lyric ,
9474 )
9575
9676
0 commit comments