Skip to content

Commit

Permalink
Options: fix yaml export corner case (ArchipelagoMW#3529)
Browse files Browse the repository at this point in the history
  • Loading branch information
Berserker66 authored Jun 14, 2024
1 parent 1fe3d84 commit 3972b1b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
10 changes: 7 additions & 3 deletions Options.py
Original file line number Diff line number Diff line change
Expand Up @@ -1432,14 +1432,18 @@ def dictify_range(option: Range):

return data, notes

def yaml_dump_scalar(scalar) -> str:
# yaml dump may add end of document marker and newlines.
return yaml.dump(scalar).replace("...\n", "").strip()

for game_name, world in AutoWorldRegister.world_types.items():
if not world.hidden or generate_hidden:
grouped_options = get_option_groups(world)
option_groups = get_option_groups(world)
with open(local_path("data", "options.yaml")) as f:
file_data = f.read()
res = Template(file_data).render(
option_groups=grouped_options,
__version__=__version__, game=game_name, yaml_dump=yaml.dump,
option_groups=option_groups,
__version__=__version__, game=game_name, yaml_dump=yaml_dump_scalar,
dictify_range=dictify_range,
)

Expand Down
8 changes: 4 additions & 4 deletions data/options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,21 +68,21 @@ requires:

{%- elif option.options -%}
{%- for suboption_option_id, sub_option_name in option.name_lookup.items() %}
{{ sub_option_name }}: {% if suboption_option_id == option.default %}50{% else %}0{% endif %}
{{ yaml_dump(sub_option_name) }}: {% if suboption_option_id == option.default %}50{% else %}0{% endif %}
{%- endfor -%}

{%- if option.name_lookup[option.default] not in option.options %}
{{ option.default }}: 50
{{ yaml_dump(option.default) }}: 50
{%- endif -%}

{%- elif option.default is string %}
{{ option.default }}: 50
{{ yaml_dump(option.default) }}: 50

{%- elif option.default is iterable and option.default is not mapping %}
{{ option.default | list }}

{%- else %}
{{ yaml_dump(option.default) | trim | indent(4, first=false) }}
{{ yaml_dump(option.default) | indent(4, first=false) }}
{%- endif -%}
{{ "\n" }}
{%- endfor %}
Expand Down

0 comments on commit 3972b1b

Please sign in to comment.