def setLimits(self, limits): self.forward = collections.OrderedDict() ## name: value self.reverse = collections.OrderedDict() ## value: name if isinstance(limits, dict): for k, v in limits.iteritems(): self.forward[k] = v self.reverse[v] = k else: for v in limits: n = unicode(v) self.forward[n] = v self.reverse[v] = n Parameter.setLimits(self, limits) #print self.name(), self.value(), limits if self.value() not in self.reverse and len(self.reverse) > 0: self.setValue(self.reverse.keys()[0])