支持解读舞萌的版本号
This commit is contained in:
@@ -5,6 +5,47 @@ from loguru import logger
|
||||
from HelperGetUserThing import implGetUser_
|
||||
import unicodedata
|
||||
|
||||
def numberToLetter(number):
|
||||
"""
|
||||
将数字转换为字母(1-26 to A-Z)
|
||||
"""
|
||||
if 1 <= number <= 26:
|
||||
return chr(number + 64)
|
||||
else:
|
||||
return None
|
||||
|
||||
def maimaiVersionToHumanReadable(romVersion: str, dataVersion: str) -> str:
|
||||
try:
|
||||
romVersionList = romVersion.split('.')
|
||||
dataVersionList = dataVersion.split('.')
|
||||
except Exception as e:
|
||||
logger.warning(f"无法解析版本号: {romVersion} {dataVersion},错误:{e}")
|
||||
return "无效版本号:无法解析"
|
||||
try:
|
||||
romVersionList = [int(i) for i in romVersionList]
|
||||
dataVersionList = [int(i) for i in dataVersionList]
|
||||
except Exception as e:
|
||||
logger.warning(f"无法解析版本号: {romVersion} {dataVersion},错误:{e}")
|
||||
return "无效版本号:无法解读数字"
|
||||
finalVersionList = []
|
||||
finalVersionList.append(romVersionList[0])
|
||||
finalVersionList.append(max(romVersionList[1], dataVersionList[1]))
|
||||
finalVersionLetter = numberToLetter(max(romVersionList[2], dataVersionList[2]))
|
||||
if finalVersionLetter:
|
||||
finalVersionLetter = f"-{finalVersionLetter}"
|
||||
else:
|
||||
finalVersionLetter = ""
|
||||
finalVersionList.append(finalVersionLetter)
|
||||
|
||||
if finalVersionList[1] < 30:
|
||||
versionStringPrefix = "CH"
|
||||
else:
|
||||
versionStringPrefix = "CN"
|
||||
|
||||
finalVersionString = f"{versionStringPrefix}{finalVersionList[0]}.{finalVersionList[1]}{finalVersionList[2]}"
|
||||
return finalVersionString
|
||||
|
||||
|
||||
levelIdDict = {
|
||||
"绿": 0,
|
||||
"黄": 1,
|
||||
@@ -46,10 +87,10 @@ def getFriendlyUserData(userId:int) -> str:
|
||||
result += f"总游戏次数: {userData.get('playCount', '未知')} "
|
||||
result += f"当前版本游戏次数: {userData.get('currentPlayCount', '未知')}\n"
|
||||
result += f"最近登录时间: {userData.get('lastLoginDate')} "
|
||||
result += f"最近登录版本: {userData.get('lastDataVersion', '未知')} "
|
||||
result += f"最近登录版本: {maimaiVersionToHumanReadable(userData.get('lastRomVersion'), userData.get('lastDataVersion'))} "
|
||||
result += f"最近登录地区: {userData.get('lastRegionName', '未知')}\n"
|
||||
result += f"注册日期: {userData.get('firstPlayDate')} "
|
||||
result += f"注册版本: {userData.get('firstDataVersion', '未知')}\n"
|
||||
result += f"注册版本: {maimaiVersionToHumanReadable(userData.get('firstRomVersion'),userData.get('firstDataVersion'))}\n"
|
||||
result += f"封号状态(banState): {banState}\n"
|
||||
try:
|
||||
logger.info(userRegion)
|
||||
@@ -208,3 +249,8 @@ WAHLAP_REGIONS = {
|
||||
31: '新疆',
|
||||
32: '西藏',
|
||||
}
|
||||
|
||||
if __name__ == "__main__":
|
||||
# test version string convert
|
||||
print(maimaiVersionToHumanReadable("1.20.0", "1.0.0"))
|
||||
print(maimaiVersionToHumanReadable("1.41.00", "1.40.11"))
|
||||
Reference in New Issue
Block a user