def __init__(self, parent, value, is_name=False, name=None): Element.__init__(self, parent) self._create = value if parent is None: return # means "invalid element" # idea: Joe Wetherell -- try to find out if the output # is too long and if so get it using file, otherwise # don't. if is_name: self._name = value else: try: self._name = parent._create(value, name=name) except (TypeError, RuntimeError, ValueError) as x: raise TypeError(x)