From 2b6fc6dd3a37df02d35deb44b3417a33ed892ff3 Mon Sep 17 00:00:00 2001 From: beauxq Date: Sat, 14 May 2022 16:50:36 -0700 Subject: [PATCH] only accept true and false for a range if they make sense --- Options.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Options.py b/Options.py index 6bfbac89..632b90d3 100644 --- a/Options.py +++ b/Options.py @@ -409,10 +409,19 @@ class Range(NumericOption): raise Exception(f"random text \"{text}\" did not resolve to a recognized pattern. Acceptable values are: random, random-high, random-middle, random-low, random-range-low--, random-range-middle--, random-range-high--, or random-range--.") elif text == "default" and hasattr(cls, "default"): return cls(cls.default) - elif text in ["high", "true"]: + elif text == "high": return cls(cls.range_end) - elif text in ["low", "false"]: + elif text == "low": return cls(cls.range_start) + elif cls.range_start == 0 \ + and hasattr(cls, "default") \ + and cls.default != 0 \ + and text in ("true", "false"): + # these are the conditions where "true" and "false" make sense + if text == "true": + return cls(cls.default) + else: # "false" + return cls(0) return cls(int(text)) @classmethod