From 193178ea8a038b183388999a2853433cf45a054c Mon Sep 17 00:00:00 2001 From: yo mama Date: Sat, 7 Mar 2015 20:44:30 -0800 Subject: fixes --- Pb_Api/Param/NumberRange.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Pb_Api/Param/NumberRange.py diff --git a/Pb_Api/Param/NumberRange.py b/Pb_Api/Param/NumberRange.py new file mode 100644 index 0000000..fa11a29 --- /dev/null +++ b/Pb_Api/Param/NumberRange.py @@ -0,0 +1,17 @@ +from Pb_Api.Param.MultiSelect import Pb_Api_Param_MultiSelect +import random +class Pb_Api_Param_NumberRange(Pb_Api_Param_MultiSelect): + def __init__(self, **kwargs): + super(Pb_Api_Param_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(ANGLE_MIN,ANGLE_MAX), -- cgit v1.2.3-70-g09d2