WebHost: Fix Named Range displays on Player Options page (#3521)
* Player Options: Fix Named Range displays * Also add validation to the NamedRange class itself * Don't break Stardew * Comment * Do replace first so title works correctly * Bring change to Weighted Options as well
This commit is contained in:
parent
2ae51364d9
commit
533395d336
|
@ -735,6 +735,12 @@ class NamedRange(Range):
|
||||||
elif value > self.range_end and value not in self.special_range_names.values():
|
elif value > self.range_end and value not in self.special_range_names.values():
|
||||||
raise Exception(f"{value} is higher than maximum {self.range_end} for option {self.__class__.__name__} " +
|
raise Exception(f"{value} is higher than maximum {self.range_end} for option {self.__class__.__name__} " +
|
||||||
f"and is also not one of the supported named special values: {self.special_range_names}")
|
f"and is also not one of the supported named special values: {self.special_range_names}")
|
||||||
|
|
||||||
|
# See docstring
|
||||||
|
for key in self.special_range_names:
|
||||||
|
if key != key.lower():
|
||||||
|
raise Exception(f"{self.__class__.__name__} has an invalid special_range_names key: {key}. "
|
||||||
|
f"NamedRange keys must use only lowercase letters, and ideally should be snake_case.")
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
|
@ -57,9 +57,9 @@
|
||||||
<select id="{{ option_name }}-select" data-option-name="{{ option_name }}" {{ "disabled" if option.default == "random" }}>
|
<select id="{{ option_name }}-select" data-option-name="{{ option_name }}" {{ "disabled" if option.default == "random" }}>
|
||||||
{% for key, val in option.special_range_names.items() %}
|
{% for key, val in option.special_range_names.items() %}
|
||||||
{% if option.default == val %}
|
{% if option.default == val %}
|
||||||
<option value="{{ val }}" selected>{{ key }} ({{ val }})</option>
|
<option value="{{ val }}" selected>{{ key|replace("_", " ")|title }} ({{ val }})</option>
|
||||||
{% else %}
|
{% else %}
|
||||||
<option value="{{ val }}">{{ key }} ({{ val }})</option>
|
<option value="{{ val }}">{{ key|replace("_", " ")|title }} ({{ val }})</option>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<option value="custom" hidden>Custom</option>
|
<option value="custom" hidden>Custom</option>
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
The following values have special meanings, and may fall outside the normal range.
|
The following values have special meanings, and may fall outside the normal range.
|
||||||
<ul>
|
<ul>
|
||||||
{% for name, value in option.special_range_names.items() %}
|
{% for name, value in option.special_range_names.items() %}
|
||||||
<li>{{ value }}: {{ name }}</li>
|
<li>{{ value }}: {{ name|replace("_", " ")|title }}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
Loading…
Reference in New Issue