From 5521785e6c52dd4603699d057d62a5797844fd13 Mon Sep 17 00:00:00 2001 From: pepperpepperpepper Date: Wed, 30 Sep 2015 00:56:49 -0700 Subject: huge rename --- ricky/param/numberrange.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ricky/param/numberrange.py (limited to 'ricky/param/numberrange.py') diff --git a/ricky/param/numberrange.py b/ricky/param/numberrange.py new file mode 100644 index 0000000..7e01a81 --- /dev/null +++ b/ricky/param/numberrange.py @@ -0,0 +1,27 @@ +import sys +from ricky.param.multiselect import MultiSelect +import random +class NumberRange(MultiSelect): + def __init__(self, **kwargs): + super(NumberRange, self).__init__(**kwargs) + self.range_min = kwargs['min'] + self.range_max = kwargs['max'] + def randomize(self): + weights_total = sum(map(lambda x: x["weight"], self.options())) + self.range_max - self.range_min + choice = random.randint(0, weights_total) + position = 0 + for elem in self.options(): + position += elem["weight"] + if position >= choice: + self.value = elem["value"] + return + self.value = random.randint(self.range_min,self.range_max) + @property + def value(self): + return super(MultiSelect, self).get_value() + @value.setter + def value(self, value): + self._value = value + if not self._value is None: + self.is_ready = 1 + self.set_by_user = 1 -- cgit v1.2.3-70-g09d2