def bash_checker(code, working_directory):
    """Return checker."""
    run = run_in_subprocess(code, '.bash', ['bash', '-n'],
                            working_directory=working_directory)

    def run_check():
        """Yield errors."""
        result = run()
        if result:
            (output, filename) = result
            prefix = filename + ': line '
            for line in output.splitlines():
                if not line.startswith(prefix):
                    continue
                message = line[len(prefix):]
                split_message = message.split(':', 1)
                yield (int(split_message[0]) - 1,
                       split_message[1].strip())
    return run_check
def bash_checker ( code , working_directory ) : run = run_in_subprocess ( code , '.bash' , [ 'bash' , '-n' ] , working_directory = working_directory ) def run_check ( ) : result = run ( ) if result : ( output , filename ) = result prefix = filename + ': line ' for line in output . splitlines ( ) : if not line . startswith ( prefix ) : continue message = line [ len ( prefix ) : ] split_message = message . split ( ':' , 1 ) yield ( int ( split_message [ 0 ] ) - 1 , split_message [ 1 ] . strip ( ) ) return run_check
Return checker.