Fixed bug: nextindex恰好是50倍数时候程序报错

This commit is contained in:
Remik1r3n 2025-02-04 16:12:18 +08:00
parent b41b185b2e
commit 5727b800fe
2 changed files with 16 additions and 31 deletions

View File

@ -111,22 +111,13 @@ def implUserMusicToDivingFish(userId:int, fishImportToken:str):
if __name__ == '__main__':
if True:
userId = testUid
importToken = testImportToken
currentLoginTimestamp = generateTimestamp()
loginResult = apiLogin(currentLoginTimestamp, userId)
userId = None
importToken = None
#currentLoginTimestamp = generateTimestamp()
if loginResult['returnCode'] != 1:
logger.info("登录失败")
exit()
try:
userFullMusicDetailList = getUserFullMusicDetail(userId)
logger.warning("Now We Begin To Build DivingFish Data")
divingFishData = maimaiUserMusicDetailToDivingFishFormat(userFullMusicDetailList)
logger.debug(divingFishData)
logger.warning("Now We Begin To Update DivingFish Data")
updateFishRecords(importToken, divingFishData)
finally:
#logger.error(f"Error: {e}")
logger.info(apiLogout(currentLoginTimestamp, userId))

View File

@ -30,6 +30,10 @@ def getUserFullMusicDetail(userId: int):
userMusicResponse = getUserMusicDetail(userId, nextIndex or 0)
nextIndex = userMusicResponse['nextIndex']
logger.info(f"NextIndex: {nextIndex}")
# 处理已经没有 userMusicList 的情况
if not userMusicResponse['userMusicList']:
break
# 只要还有 userMusicList 就一直加进去,直到全部获取完毕
for currentMusic in userMusicResponse['userMusicList']:
for currentMusicDetail in currentMusic['userMusicDetailList']:
if not currentMusicDetail['playCount'] > 0:
@ -51,16 +55,6 @@ def parseUserFullMusicDetail(userFullMusicDetailList: list):
if __name__ == '__main__':
userId = testUid
currentLoginTimestamp = generateTimestamp()
#loginResult = apiLogin(currentLoginTimestamp, userId)
#if loginResult['returnCode'] != 1:
# logger.info("登录失败")
# exit()
try:
userFullMusicDetailList = getUserFullMusicDetail(userId)
parsedUserFullMusicDetail = parseUserFullMusicDetail(userFullMusicDetailList)
logger.info(parsedUserFullMusicDetail)
finally:
#logger.error(f"Error: {e}")
logger.info(apiLogout(currentLoginTimestamp, userId))