WebHost: Allowing options that work on WebHost to be used in presets (#3441)
This commit is contained in:
parent
424c8b0be9
commit
d9120f0bea
|
@ -91,7 +91,7 @@ def option_presets(game: str) -> Response:
|
|||
f"Expected {option.special_range_names.keys()} or {option.range_start}-{option.range_end}."
|
||||
|
||||
presets[preset_name][preset_option_name] = option.value
|
||||
elif isinstance(option, Options.Range):
|
||||
elif isinstance(option, (Options.Range, Options.OptionSet, Options.OptionList, Options.ItemDict)):
|
||||
presets[preset_name][preset_option_name] = option.value
|
||||
elif isinstance(preset_option, str):
|
||||
# Ensure the option value is valid for Choice and Toggle options
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import unittest
|
||||
|
||||
from worlds import AutoWorldRegister
|
||||
from Options import Choice, NamedRange, Toggle, Range
|
||||
from Options import ItemDict, NamedRange, NumericOption, OptionList, OptionSet
|
||||
|
||||
|
||||
class TestOptionPresets(unittest.TestCase):
|
||||
|
@ -14,7 +14,7 @@ class TestOptionPresets(unittest.TestCase):
|
|||
with self.subTest(game=game_name, preset=preset_name, option=option_name):
|
||||
try:
|
||||
option = world_type.options_dataclass.type_hints[option_name].from_any(option_value)
|
||||
supported_types = [Choice, Toggle, Range, NamedRange]
|
||||
supported_types = [NumericOption, OptionSet, OptionList, ItemDict]
|
||||
if not any([issubclass(option.__class__, t) for t in supported_types]):
|
||||
self.fail(f"'{option_name}' in preset '{preset_name}' for game '{game_name}' "
|
||||
f"is not a supported type for webhost. "
|
||||
|
|
Loading…
Reference in New Issue