1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-04-10 04:02:11 +08:00

Opt: [ALAS] Turn type lock to type state

This commit is contained in:
LmeSzinc
2023-10-28 21:42:12 +08:00
parent f7cf9e3bd2
commit 75a58f5640
9 changed files with 360 additions and 95 deletions

View File

@@ -66,6 +66,9 @@ class Event:
def __lt__(self, other):
return str(self) < str(other)
def __hash__(self):
return hash(str(self))
class ConfigGenerator:
@cached_property
@@ -202,8 +205,11 @@ class ConfigGenerator:
if not check_override(p, v):
continue
if isinstance(v, dict):
if deep_get(v, keys='type') in ['lock']:
deep_default(v, keys='display', value="disabled")
typ = v.get('type')
if typ == 'state':
pass
elif typ == 'lock':
pass
elif deep_get(v, keys='value') is not None:
deep_default(v, keys='display', value='hide')
for arg_k, arg_v in v.items():
@@ -428,6 +434,8 @@ class ConfigGenerator:
latest = {}
for server in ARCHIVES_PREFIX.keys():
latest[server] = deep_pop(self.args, keys=f'{task}.Campaign.Event.{server}', default='')
bold = list(set(latest.values()))
deep_set(self.args, keys=f'{task}.Campaign.Event.option_bold', value=bold)
for server, event in latest.items():
deep_set(self.args, keys=f'{task}.Campaign.Event.{server}', value=event)
@@ -584,7 +592,10 @@ class ConfigUpdater:
def deep_load(keys):
data = deep_get(self.args, keys=keys, default={})
value = deep_get(old, keys=keys, default=data['value'])
if is_template or value is None or value == '' or data['type'] == 'lock' or data.get('display') == 'hide':
typ = data['type']
display = data.get('display')
if is_template or value is None or value == '' \
or typ in ['lock', 'state'] or (display == 'hide' and typ != 'stored'):
value = data['value']
value = parse_value(value, data=data)
deep_set(new, keys=keys, value=value)