summaryrefslogtreecommitdiff
path: root/Pb_Api/Param/MultiSelect.py
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-03-07 20:44:16 -0800
committeryo mama <pepper@scannerjammer.com>2015-03-07 20:44:16 -0800
commit588d6bc9734af06c1dbdb4fd687c2e55ebc6fb3d (patch)
tree5d66ab506da0f80d65a59982bc362ee33a63974c /Pb_Api/Param/MultiSelect.py
parent27750cbcdc49d4a30da58ab07adda96eb642e5e7 (diff)
fixes
Diffstat (limited to 'Pb_Api/Param/MultiSelect.py')
-rw-r--r--Pb_Api/Param/MultiSelect.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/Pb_Api/Param/MultiSelect.py b/Pb_Api/Param/MultiSelect.py
index 88637b9..365258d 100644
--- a/Pb_Api/Param/MultiSelect.py
+++ b/Pb_Api/Param/MultiSelect.py
@@ -3,10 +3,12 @@ from Pb_Api.Param import Pb_Api_Param
class Pb_Api_Param_MultiSelect(Pb_Api_Param):
def __init__(self, *args, **kwargs):
- self._options = kwargs['options']
+ self._options = kwargs['options'] if options in kwargs else []
super(Pb_Api_Param_MultiSelect, self).__init__(*args, **kwargs)
- self._validate_options()
- self.default(self._choose_heaviest())
+ if len(self._options):
+ self._validate_options()
+ self.default(self._choose_heaviest())
+
def options(self):
return self._options
def _validate_options(self):
@@ -39,11 +41,14 @@ class Pb_Api_Param_MultiSelect(Pb_Api_Param):
heaviest_idx = 0
heaviest_weight = 0
idx = 0
- for elem in self.options():
- if elem["weight"] > heaviest_weight:
- heaviest_weight = elem["weight"]
- heaviest_idx = idx;
- idx += 1
- return self.options()[heaviest_idx]["value"]
+ if (len(self.options())):
+ for elem in self.options():
+ if elem["weight"] > heaviest_weight:
+ heaviest_weight = elem["weight"]
+ heaviest_idx = idx;
+ idx += 1
+ self.value = self.options()[heaviest_idx]["value"]
+ else:
+ self.randomize()
def heaviest(self):
- self.value = self._get_heaviest()
+ self.value = self._choose_heaviest()