def __init__(self, element, modifier=None, modify_default=False): self._element = element self._modifier = modifier self._modify_default = modify_default AlternativeBase.__init__(self, children=(element, ), name=element.name, default=element.default)
def __init__(self, choices, name = None, extras = None, default = None): # Argument type checking. assert isinstance(name, basestring) or name is None assert isinstance(choices, dict) for k, v in choices.iteritems(): assert isinstance(k, basestring) # Construct children from the given choice keys and values. self._choices = choices self._extras = extras children = [] for k, v in choices.iteritems(): if callable(v): child = Compound(spec = k, value_func = v, extras = extras) else: child = Compound(spec = k, value = v, extras = extras) children.append(child) # Initialize super class. Alternative.__init__(self, children = children, name = name, default = default)