mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Fix TextChoice options sometimes creating a broken YAML (#3390)
* Fix TextChoice options with custom values improperly being included in YAML output * Update WebHostLib/options.py Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
This commit is contained in:
@@ -169,9 +169,9 @@ def generate_yaml(game: str):
|
|||||||
else:
|
else:
|
||||||
options[key] = val
|
options[key] = val
|
||||||
|
|
||||||
# Detect and build ItemDict options from their name pattern
|
|
||||||
for key, val in options.copy().items():
|
for key, val in options.copy().items():
|
||||||
key_parts = key.rsplit("||", 2)
|
key_parts = key.rsplit("||", 2)
|
||||||
|
# Detect and build ItemDict options from their name pattern
|
||||||
if key_parts[-1] == "qty":
|
if key_parts[-1] == "qty":
|
||||||
if key_parts[0] not in options:
|
if key_parts[0] not in options:
|
||||||
options[key_parts[0]] = {}
|
options[key_parts[0]] = {}
|
||||||
@@ -179,6 +179,13 @@ def generate_yaml(game: str):
|
|||||||
options[key_parts[0]][key_parts[1]] = int(val)
|
options[key_parts[0]][key_parts[1]] = int(val)
|
||||||
del options[key]
|
del options[key]
|
||||||
|
|
||||||
|
# Detect keys which end with -custom, indicating a TextChoice with a possible custom value
|
||||||
|
elif key_parts[-1].endswith("-custom"):
|
||||||
|
if val:
|
||||||
|
options[key_parts[-1][:-7]] = val
|
||||||
|
|
||||||
|
del options[key]
|
||||||
|
|
||||||
# Detect random-* keys and set their options accordingly
|
# Detect random-* keys and set their options accordingly
|
||||||
for key, val in options.copy().items():
|
for key, val in options.copy().items():
|
||||||
if key.startswith("random-"):
|
if key.startswith("random-"):
|
||||||
|
Reference in New Issue
Block a user