def read_output(self, source, condition):
        if condition == gobject.IO_IN:
            try:
                char = source.read(1)
                self.buf.insert_at_cursor(char)
                self.textview.scroll_to_mark(self.buf.get_insert(), 0)
                return True
            except:
                return False
        else:
            # Let's give the chance to flush the buffer just in case
            self.buf.insert_at_cursor(source.read(4096))
            return False
Read the output from the cli command and output it to GUI.
dataset/ETHPy150Open Morgawr/gogonlinux/gog_utils/gog_gui.py/ExternalOutputWindow.read_output