ConditionalEmitter¶
Description¶
ConditionalEmitter is a callable object which dispatches control
between two user-provided functions: emitter_if and emitter_else, both
having the following prototype:
emitter(target, source, env)
The ConditionalEmitter object is designed to be used as a SCons
emitter. The decision, which of the user-provided functions shall be called,
is made based on a user-defined condition, which, again, is provided by user in
the form of a predicate function
predicate(target, source, env)
The predicate shall return a boolean value.
In short, the following conditional emitter
em = ConditionalEmitter(predicate, emitter_if, emitter_else)
when used as
res = em(target, source, env)
will return the result of emitter_if(target, source, env) if
predicate(target, source, env) is True, or will return the result of
emitter_else(target, source, env) otherwise.