1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-06-02 22:05:19 +08:00

Merge pull request #5691 from LmeSzinc/dev

Bug fix
This commit is contained in:
LmeSzinc
2026-05-30 00:12:44 +08:00
committed by GitHub
12 changed files with 70 additions and 45 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -296,3 +296,4 @@ To add a new event, add a new row in here, and run `python -m module.config.conf
| 20260417 | event 20201126 cn | Vacation Lane Rerun | - | - | - | 復刻假日航線 |
| 20260514 | event 20221222 cn | Parallel Superimposition | - | - | - | 復刻定向折疊 |
| 20260520 | event 20260520 cn | Alliance Before the Hagiobull | 圣印前的同盟 | Alliance Before the Hagiobull | 聖印前の同盟 | - |
| 20260528 | event 20220818 cn | Operation Convergence | - | - | - | 復刻遠匯點作戰 |

View File

@@ -1642,7 +1642,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -1655,10 +1655,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -1924,7 +1924,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -1937,10 +1937,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -2321,7 +2321,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -2334,10 +2334,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -4058,7 +4058,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -4071,10 +4071,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -4472,7 +4472,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -4485,10 +4485,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -4886,7 +4886,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -4899,10 +4899,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -5300,7 +5300,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -5313,10 +5313,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},
@@ -5704,7 +5704,7 @@
"type": "select",
"value": "campaign_main",
"option": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
],
"option_cn": [
@@ -5717,10 +5717,10 @@
"event_20260520_cn"
],
"option_tw": [
"event_20221222_cn"
"event_20220818_cn"
],
"option_bold": [
"event_20221222_cn",
"event_20220818_cn",
"event_20260520_cn"
]
},

View File

@@ -737,7 +737,7 @@
"event_20220428_cn": "復刻虹彩的終幕曲",
"event_20220526_cn": "泠誓光庭",
"event_20220728_cn": "復刻雄鷹的敘事歌",
"event_20220818_cn": "遠匯點作戰",
"event_20220818_cn": "復刻遠匯點作戰",
"event_20220915_cn": "復刻紫絳槿嵐",
"event_20221124_cn": "復刻鍊金術士與秘密遺跡群島",
"event_20221222_cn": "復刻定向折疊",

View File

@@ -301,32 +301,53 @@ def get_serial_pair(serial):
return None, None
def remove_prefix(s, prefix):
@t.overload
def removeprefix(s: str, prefix: str) -> str: ...
@t.overload
def removeprefix(s: bytes, prefix: bytes) -> bytes: ...
@t.overload
def removesuffix(s: str, suffix: str) -> str: ...
@t.overload
def removesuffix(s: bytes, suffix: bytes) -> bytes: ...
def removeprefix(s, prefix):
"""
Remove prefix of a string or bytes like `string.removeprefix(prefix)`, which is on Python3.9+
Backport `string.removeprefix(prefix)`, which is on Python>=3.9
Args:
s (str, bytes):
prefix (str, bytes):
s (str | bytes):
prefix (str | bytes):
Returns:
str, bytes:
str | bytes:
"""
return s[len(prefix):] if s.startswith(prefix) else s
if s.startswith(prefix):
return s[len(prefix):]
return s
def remove_suffix(s, suffix):
def removesuffix(s, suffix):
"""
Remove suffix of a string or bytes like `string.removesuffix(suffix)`, which is on Python3.9+
Backport `string.removesuffix(suffix)`, which is on Python>=3.9
Args:
s (str, bytes):
suffix (str, bytes):
s (str | bytes):
suffix (str | bytes):
Returns:
str, bytes:
str | bytes:
"""
return s[:-len(suffix)] if s.endswith(suffix) else s
# s[:-0] is empty string, so we need to check if suffix is empty
if suffix and s.endswith(suffix):
return s[:-len(suffix)]
return s
class IniterNoMinicap(u2.init.Initer):

View File

@@ -25,7 +25,7 @@ except KeyError:
logger.error('Patch pkg_resources failed, patch module does not exists')
def remove_suffix(s, suffix):
def removesuffix(s, suffix):
"""
Remove suffix of a string or bytes like `string.removesuffix(suffix)`, which is on Python3.9+
@@ -36,7 +36,10 @@ def remove_suffix(s, suffix):
Returns:
str, bytes:
"""
return s[:-len(suffix)] if s.endswith(suffix) else s
# s[:-0] is empty string, so we need to check if suffix is empty
if suffix and s.endswith(suffix):
return s[:-len(suffix)]
return s
class FakeDistributionObject:
@@ -71,7 +74,7 @@ class PackageCache:
# adbutils-0.11.0-py3.7.egg-info
res = re.match(r'^([a-zA-Z0-9._]+)-([a-zA-Z0-9._]+)-', file)
if res:
version = remove_suffix(res.group(2), '.dist')
version = removesuffix(res.group(2), '.dist')
# version = res.group(2)
obj = FakeDistributionObject(
dist=res.group(1),

View File

@@ -5,7 +5,7 @@ from dataclasses import dataclass
from tqdm import tqdm
from module.base.decorator import cached_property
from module.device.method.utils import remove_prefix
from module.device.method.utils import removeprefix
REGEX_SETTING = re.compile(r'PlayerPrefs.Get(\w{1,10})\((.*)\)')
REGEX_SETTING_KEY = re.compile(r'"(.*?)"')
@@ -173,7 +173,7 @@ class SettingExtractor:
if not settings:
continue
yield ''
f = remove_prefix(file, folder).replace("\\", "/")
f = removeprefix(file, folder).replace("\\", "/")
yield f' # {f}'
for setting in settings:
if setting.key in dic_settings:

View File

@@ -65,7 +65,7 @@ LOGIN_RETURN_SIGN = Button(area={'cn': (1, 7, 104, 47), 'en': (1, 7, 118, 39), '
MAINTENANCE_ANNOUNCE = Button(area={'cn': (923, 141, 990, 186), 'en': (923, 141, 990, 186), 'jp': (923, 141, 990, 186), 'tw': (923, 141, 990, 186)}, color={'cn': (207, 95, 91), 'en': (207, 95, 91), 'jp': (207, 95, 91), 'tw': (207, 95, 91)}, button={'cn': (923, 141, 990, 186), 'en': (923, 141, 990, 186), 'jp': (923, 141, 990, 186), 'tw': (923, 141, 990, 186)}, file={'cn': './assets/cn/handler/MAINTENANCE_ANNOUNCE.png', 'en': './assets/en/handler/MAINTENANCE_ANNOUNCE.png', 'jp': './assets/jp/handler/MAINTENANCE_ANNOUNCE.png', 'tw': './assets/tw/handler/MAINTENANCE_ANNOUNCE.png'})
MANJUU_AREA = Button(area={'cn': (520, 240, 760, 400), 'en': (520, 240, 760, 400), 'jp': (520, 240, 760, 400), 'tw': (520, 240, 760, 400)}, color={'cn': (255, 255, 255), 'en': (255, 255, 255), 'jp': (255, 255, 255), 'tw': (255, 255, 255)}, button={'cn': (520, 240, 760, 400), 'en': (520, 240, 760, 400), 'jp': (520, 240, 760, 400), 'tw': (520, 240, 760, 400)}, file={'cn': './assets/cn/handler/MANJUU_AREA.png', 'en': './assets/cn/handler/MANJUU_AREA.png', 'jp': './assets/cn/handler/MANJUU_AREA.png', 'tw': './assets/cn/handler/MANJUU_AREA.png'})
MAP_AIR_RAID = Button(area={'cn': (350, 447, 1280, 472), 'en': (350, 447, 1280, 472), 'jp': (350, 447, 1280, 472), 'tw': (350, 447, 1280, 472)}, color={'cn': (154, 43, 46), 'en': (154, 43, 46), 'jp': (154, 43, 46), 'tw': (154, 43, 46)}, button={'cn': (350, 447, 1280, 472), 'en': (350, 447, 1280, 472), 'jp': (350, 447, 1280, 472), 'tw': (350, 447, 1280, 472)}, file={'cn': './assets/cn/handler/MAP_AIR_RAID.png', 'en': './assets/en/handler/MAP_AIR_RAID.png', 'jp': './assets/jp/handler/MAP_AIR_RAID.png', 'tw': './assets/tw/handler/MAP_AIR_RAID.png'})
MAP_AIR_STRIKE = Button(area={'cn': (0, 0, 1280, 720), 'en': (0, 0, 1280, 720), 'jp': (0, 0, 1280, 720), 'tw': (0, 0, 1280, 720)}, color={'cn': (20, 17, 17), 'en': (20, 17, 17), 'jp': (20, 17, 17), 'tw': (20, 17, 17)}, button={'cn': (0, 0, 1280, 720), 'en': (0, 0, 1280, 720), 'jp': (0, 0, 1280, 720), 'tw': (0, 0, 1280, 720)}, file={'cn': './assets/cn/handler/MAP_AIR_STRIKE.png', 'en': './assets/en/handler/MAP_AIR_STRIKE.png', 'jp': './assets/jp/handler/MAP_AIR_STRIKE.png', 'tw': './assets/tw/handler/MAP_AIR_STRIKE.png'})
MAP_AIR_STRIKE = Button(area={'cn': (351, 453, 1280, 477), 'en': (351, 453, 1280, 477), 'jp': (351, 453, 1280, 477), 'tw': (351, 453, 1280, 477)}, color={'cn': (170, 57, 63), 'en': (170, 57, 63), 'jp': (170, 57, 63), 'tw': (170, 57, 63)}, button={'cn': (351, 453, 1280, 477), 'en': (351, 453, 1280, 477), 'jp': (351, 453, 1280, 477), 'tw': (351, 453, 1280, 477)}, file={'cn': './assets/cn/handler/MAP_AIR_STRIKE.png', 'en': './assets/cn/handler/MAP_AIR_STRIKE.png', 'jp': './assets/cn/handler/MAP_AIR_STRIKE.png', 'tw': './assets/cn/handler/MAP_AIR_STRIKE.png'})
MAP_AMBUSH = Button(area={'cn': (261, 433, 1280, 449), 'en': (261, 433, 1280, 449), 'jp': (261, 433, 1280, 449), 'tw': (261, 433, 1280, 449)}, color={'cn': (161, 41, 43), 'en': (161, 41, 43), 'jp': (161, 41, 43), 'tw': (161, 41, 43)}, button={'cn': (261, 433, 1280, 449), 'en': (261, 433, 1280, 449), 'jp': (261, 433, 1280, 449), 'tw': (261, 433, 1280, 449)}, file={'cn': './assets/cn/handler/MAP_AMBUSH.png', 'en': './assets/en/handler/MAP_AMBUSH.png', 'jp': './assets/jp/handler/MAP_AMBUSH.png', 'tw': './assets/tw/handler/MAP_AMBUSH.png'})
MAP_AMBUSH_ATTACK = Button(area={'cn': (804, 457, 876, 488), 'en': (791, 463, 888, 485), 'jp': (804, 457, 876, 488), 'tw': (804, 455, 876, 486)}, color={'cn': (139, 168, 210), 'en': (164, 187, 221), 'jp': (150, 175, 212), 'tw': (149, 175, 213)}, button={'cn': (755, 446, 925, 501), 'en': (753, 443, 927, 503), 'jp': (757, 447, 925, 501), 'tw': (762, 443, 927, 499)}, file={'cn': './assets/cn/handler/MAP_AMBUSH_ATTACK.png', 'en': './assets/en/handler/MAP_AMBUSH_ATTACK.png', 'jp': './assets/jp/handler/MAP_AMBUSH_ATTACK.png', 'tw': './assets/tw/handler/MAP_AMBUSH_ATTACK.png'})
MAP_AMBUSH_EVADE = Button(area={'cn': (1029, 457, 1101, 487), 'en': (1021, 459, 1110, 483), 'jp': (1031, 458, 1101, 487), 'tw': (1071, 457, 1101, 487)}, color={'cn': (199, 195, 196), 'en': (200, 197, 198), 'jp': (239, 194, 138), 'tw': (247, 209, 164)}, button={'cn': (979, 444, 1152, 502), 'en': (978, 443, 1153, 503), 'jp': (979, 444, 1151, 502), 'tw': (979, 444, 1152, 502)}, file={'cn': './assets/cn/handler/MAP_AMBUSH_EVADE.png', 'en': './assets/en/handler/MAP_AMBUSH_EVADE.png', 'jp': './assets/jp/handler/MAP_AMBUSH_EVADE.png', 'tw': './assets/tw/handler/MAP_AMBUSH_EVADE.png'})

View File

@@ -4,7 +4,7 @@ from scipy import signal
from module.base.decorator import cached_property
from module.base.utils import *
from module.device.method.utils import remove_suffix
from module.device.method.utils import removesuffix
from module.logger import logger
from module.ocr.ocr import Duration, Ocr
from module.research.assets import *
@@ -364,7 +364,7 @@ def research_jp_detect(image):
"""
project = ResearchProjectJp()
project.series = get_research_series_jp(image)
project.duration = remove_suffix(str(get_research_duration_jp(image) / 3600), '.0')
project.duration = removesuffix(str(get_research_duration_jp(image) / 3600), '.0')
if project.duration == '':
project.duration = '0'
project.genre = get_research_genre_jp(image)