def chain_specs(specs):
LOG.info("<STR_LIT>", len(specs))<EOL>pin = pypein.input_for(specs[<NUM_LIT:0>]).__iter__()<EOL>if len(specs) == <NUM_LIT:1>:<EOL><INDENT>pout = pypeout.output_for("<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>for s in specs[<NUM_LIT:1>:-<NUM_LIT:1>]:<EOL><INDENT>pin = pypef.filter_for(s).filter(pin)<EOL><DEDENT>try:<EOL><INDENT>pout = pypeout.output_for(specs[-<NUM_LIT:1>])<EOL><DEDENT>except pypeout.NoSuchOutputException:<EOL><INDENT>pin = pypef.filter_for(specs[-<NUM_LIT:1>]).filter(pin)<EOL>pout = pypeout.output_for("<STR_LIT>")<EOL><DEDENT><DEDENT>return pout, pin<EOL>
Parses the incoming list of specs and produces a tuple (pout, pin) that can be invoked with:
    <pre>
    result = pout.process(pin)
    </pre>