chore: fix more warnings

This commit is contained in:
mokurin000
2025-07-29 17:01:49 +08:00
parent 9a2e8bd1ed
commit ae6a4d1cf4

View File

@@ -1,16 +1,21 @@
import rapidjson as json import rapidjson as json
from loguru import logger from loguru import logger
from Config import * from API_TitleServer import (
from API_TitleServer import * SDGBRequestError,
SDGBApiError,
apiSDGB,
calcPlaySpecial,
)
from HelperGetUserThing import implGetUser_ from HelperGetUserThing import implGetUser_
from HelperUploadUserPlayLog import apiUploadUserPlaylog from HelperUploadUserPlayLog import apiUploadUserPlaylog
from HelperUserAll import generateFullUserAll from HelperUserAll import generateFullUserAll
def generateMusicData(): def generateMusicData():
"""生成一份占位的音乐数据""" """生成一份占位的音乐数据"""
return { return {
"musicId": 834, # PANDORA PARADOXXX "musicId": 834, # PANDORA PARADOXXX
"level": 4, "level": 4,
"playCount": 1, "playCount": 1,
"achievement": 0, "achievement": 0,
@@ -18,9 +23,10 @@ def generateMusicData():
"syncStatus": 0, "syncStatus": 0,
"deluxscoreMax": 0, "deluxscoreMax": 0,
"scoreRank": 0, "scoreRank": 0,
"extNum1": 0 "extNum1": 0,
} }
def applyUserAllPatches(userAll, patches): def applyUserAllPatches(userAll, patches):
""" """
递归地将给定的补丁应用到用户数据的各个层次。 递归地将给定的补丁应用到用户数据的各个层次。
@@ -29,13 +35,25 @@ def applyUserAllPatches(userAll, patches):
:param patches: 包含所有patch的字典 :param patches: 包含所有patch的字典
""" """
for key, value in patches.items(): for key, value in patches.items():
if isinstance(value, dict) and key in userAll and isinstance(userAll[key], dict): if (
isinstance(value, dict)
and key in userAll
and isinstance(userAll[key], dict)
):
# 如果patch的值是字典并且userAll中对应的key也是字典递归处理 # 如果patch的值是字典并且userAll中对应的key也是字典递归处理
applyUserAllPatches(userAll[key], value) applyUserAllPatches(userAll[key], value)
elif isinstance(value, list) and key in userAll and isinstance(userAll[key], list): elif (
isinstance(value, list)
and key in userAll
and isinstance(userAll[key], list)
):
# 如果值是列表,进行详细的更新处理 # 如果值是列表,进行详细的更新处理
for i, patch_item in enumerate(value): for i, patch_item in enumerate(value):
if i < len(userAll[key]) and isinstance(patch_item, dict) and isinstance(userAll[key][i], dict): if (
i < len(userAll[key])
and isinstance(patch_item, dict)
and isinstance(userAll[key][i], dict)
):
# 如果列表项是字典,更新字典中的字段 # 如果列表项是字典,更新字典中的字段
applyUserAllPatches(userAll[key][i], patch_item) applyUserAllPatches(userAll[key][i], patch_item)
elif i >= len(userAll[key]): elif i >= len(userAll[key]):
@@ -45,7 +63,15 @@ def applyUserAllPatches(userAll, patches):
# 否则直接更新或添加key # 否则直接更新或添加key
userAll[key] = value userAll[key] = value
def implFullPlayAction(userId: int, currentLoginTimestamp:int, currentLoginResult, musicData, userAllPatches, debugMode=False):
def implFullPlayAction(
userId: int,
currentLoginTimestamp: int,
currentLoginResult,
musicData,
userAllPatches,
debugMode=False,
):
""" """
一份完整的上机实现,可以打 patch 来实现各种功能 一份完整的上机实现,可以打 patch 来实现各种功能
需要在外部先登录并传入登录结果 需要在外部先登录并传入登录结果
@@ -53,10 +79,12 @@ def implFullPlayAction(userId: int, currentLoginTimestamp:int, currentLoginResul
# 取得 UserData # 取得 UserData
currentUserData = implGetUser_("Data", userId) currentUserData = implGetUser_("Data", userId)
currentUserData2 = currentUserData['userData'] currentUserData2 = currentUserData["userData"]
# 构建并上传一个游玩记录 # 构建并上传一个游玩记录
currentUploadUserPlaylogApiResult = apiUploadUserPlaylog(userId, musicData, currentUserData2, currentLoginResult['loginId']) currentUploadUserPlaylogApiResult = apiUploadUserPlaylog(
userId, musicData, currentUserData2, currentLoginResult["loginId"]
)
logger.debug(f"上传 UserPlayLog 结果: {currentUploadUserPlaylogApiResult}") logger.debug(f"上传 UserPlayLog 结果: {currentUploadUserPlaylogApiResult}")
# 构建并上传 UserAll # 构建并上传 UserAll
@@ -65,13 +93,22 @@ def implFullPlayAction(userId: int, currentLoginTimestamp:int, currentLoginResul
# 计算一个特殊数 # 计算一个特殊数
currentPlaySpecial = calcPlaySpecial() currentPlaySpecial = calcPlaySpecial()
# 生成出 UserAll # 生成出 UserAll
currentUserAll = generateFullUserAll(userId, currentLoginResult, currentLoginTimestamp, currentUserData2, currentPlaySpecial) currentUserAll = generateFullUserAll(
userId,
currentLoginResult,
currentLoginTimestamp,
currentUserData2,
currentPlaySpecial,
)
# 应用参数里的补丁 # 应用参数里的补丁
applyUserAllPatches(currentUserAll, userAllPatches) applyUserAllPatches(currentUserAll, userAllPatches)
# 调试模式下直接输出数据 # 调试模式下直接输出数据
if debugMode: if debugMode:
logger.debug("调试模式:构建出的 UserAll 数据:" + json.dumps(currentUserAll, indent=4)) logger.debug(
"调试模式:构建出的 UserAll 数据:"
+ json.dumps(currentUserAll, indent=4)
)
logger.info("Bye!") logger.info("Bye!")
return return
@@ -88,8 +125,8 @@ def implFullPlayAction(userId: int, currentLoginTimestamp:int, currentLoginResul
raise SDGBApiError("邪门错误") raise SDGBApiError("邪门错误")
# 成功上传后退出循环 # 成功上传后退出循环
break break
else: # 重试次数超过3次 else: # 重试次数超过3次
raise SDGBRequestError raise SDGBRequestError
logger.info("上机:结果:"+ str(currentUserAllResult)) logger.info("上机:结果:" + str(currentUserAllResult))
return currentUserAllResult return currentUserAllResult