Skip to content

Commit

Permalink
Fix TextChoice options sometimes creating a broken YAML (ArchipelagoM…
Browse files Browse the repository at this point in the history
…W#3390)

* Fix TextChoice options with custom values improperly being included in YAML output

* Update WebHostLib/options.py

Co-authored-by: Fabian Dill <[email protected]>

---------

Co-authored-by: Fabian Dill <[email protected]>
  • Loading branch information
2 people authored and James Schurig committed Jun 13, 2024
1 parent aad1fb3 commit 7aff8de
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion WebHostLib/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,16 +169,23 @@ def generate_yaml(game: str):
else:
options[key] = val

# Detect and build ItemDict options from their name pattern
for key, val in options.copy().items():
key_parts = key.rsplit("||", 2)
# Detect and build ItemDict options from their name pattern
if key_parts[-1] == "qty":
if key_parts[0] not in options:
options[key_parts[0]] = {}
if val != "0":
options[key_parts[0]][key_parts[1]] = int(val)
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
for key, val in options.copy().items():
if key.startswith("random-"):
Expand Down

0 comments on commit 7aff8de

Please sign in to comment.