配合模块进行的各种更改和 fix

This commit is contained in:
Your Name
2025-02-04 15:39:36 +08:00
parent 6daf529b2f
commit 0abc04b94a
8 changed files with 302 additions and 16 deletions

View File

@@ -9,6 +9,10 @@ from API_TitleServer import apiSDGB
from HelperLogInOut import apiLogin, apiLogout, generateTimestamp
from HelperFullPlay import implFullPlayAction
class NoSelectedBonusError(Exception):
pass
def apiQueryLoginBonus(userId:int) -> str:
'''ログインボーナスを取得する API'''
data = json.dumps({
@@ -65,13 +69,20 @@ def generateLoginBonusList(UserLoginBonusList, generateMode=1):
generateMode は、ログインボーナスを生成する方法を指定します。
1: 選択したボーナスのみ MAX にする(選択したボーナスはないの場合は False を返す)
2: 全部 MAX にする
'''
# HDDから、ログインボーナスデータを読み込む
# アップデートがある場合、このファイルを更新する必要があります
# 必ず最新のデータを使用してください
with open('./Data/loginBonus.json', encoding='utf-8') as file:
cache = json.load(file)
try:
with open(loginBonusDBPath, encoding='utf-8') as file:
cache = json.load(file)
except FileNotFoundError:
try:
with open(loginBonusDBPathFallback, encoding='utf-8') as file:
cache = json.load(file)
except:
raise FileNotFoundError("ログインボーナスデータベースを読み込めません")
loginBonusIdList = [item['id'] for item in cache]
logger.debug(f"ログインボーナスIDリスト: {loginBonusIdList}")
@@ -100,8 +111,7 @@ def generateLoginBonusList(UserLoginBonusList, generateMode=1):
}
bonusList.append(data)
if len(bonusList) == 0:
logger.warning("このユーザーはログインボーナスを選択していませんから失敗")
return False
raise NoSelectedBonusError("選択したログインボーナスがありません")
elif generateMode == 2: #全部 MAX にする
# 存在しているボーナスを追加
for item in UserLoginBonusList:
@@ -131,8 +141,7 @@ def generateLoginBonusList(UserLoginBonusList, generateMode=1):
}
bonusList.append(data)
else:
logger.error("generateMode は 1 または 2 でなければなりません")
return False
raise ValueError("generateMode は 1 または 2 でなければなりません")
logger.debug(f"ログインボーナスリスト: {bonusList}")
return bonusList