Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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)