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 __name__ == '__main__':
if True: if True:
userId = testUid userId = None
importToken = testImportToken importToken = None
currentLoginTimestamp = generateTimestamp() #currentLoginTimestamp = generateTimestamp()
loginResult = apiLogin(currentLoginTimestamp, userId)
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))
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)

View File

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