上传文件至 /
This commit is contained in:
43
HelperGetUserMusicDetail.py
Normal file
43
HelperGetUserMusicDetail.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from API_TitleServer import *
|
||||
from HelperLogInOut import apiLogin, apiLogout, generateTimestamp
|
||||
from Config import *
|
||||
import rapidjson as json
|
||||
from HelperMusicDB import getMusicTitle
|
||||
from loguru import logger
|
||||
import sys
|
||||
|
||||
def getUserMusicDetail(userId:int, nextIndex:int=0, maxCount:int=50) -> dict:
|
||||
data = json.dumps({
|
||||
"userId": int(userId),
|
||||
"nextIndex": nextIndex,
|
||||
"maxCount": maxCount
|
||||
})
|
||||
return json.loads(apiSDGB(data, "GetUserMusicApi", userId))
|
||||
|
||||
def getUserFullMusicDetail(userId: int):
|
||||
currentUserMusicDetailList = []
|
||||
nextIndex:int|None = None
|
||||
while nextIndex != 0 or nextIndex is None:
|
||||
userMusicResponse = getUserMusicDetail(userId, nextIndex or 0)
|
||||
nextIndex = userMusicResponse['nextIndex']
|
||||
logger.info(f"NextIndex: {nextIndex}")
|
||||
|
||||
if not userMusicResponse['userMusicList']:
|
||||
break
|
||||
for currentMusic in userMusicResponse['userMusicList']:
|
||||
for currentMusicDetail in currentMusic['userMusicDetailList']:
|
||||
if not currentMusicDetail['playCount'] > 0:
|
||||
continue
|
||||
currentUserMusicDetailList.append(currentMusicDetail)
|
||||
return currentUserMusicDetailList
|
||||
|
||||
def parseUserFullMusicDetail(userFullMusicDetailList: list):
|
||||
musicDetailList = []
|
||||
for currentMusicDetail in userFullMusicDetailList:
|
||||
musicDetailList.append({
|
||||
'歌名': getMusicTitle(currentMusicDetail['musicId']),
|
||||
'难度': currentMusicDetail['level'],
|
||||
'分数': currentMusicDetail['achievement'] / 10000,
|
||||
'DX分数': currentMusicDetail['deluxscoreMax']
|
||||
})
|
||||
return musicDetailList
|
||||
Reference in New Issue
Block a user