'Reads the stdout of `process` and forwards lines and progress
to any interested subscribers'

def _forward_stdout(self, process):

    while True:
        line = process.stdout.readline()
        if (not line):
            break
        pub.send_message('console_update', msg=line)
        pub.send_message('progress_update', progress=self._extract_progress(line))
    pub.send_message('execution_complete')
