(self)
Reads the tool's output from its stderr stream, extracts the
        relevant information, and parses it.
Reads the tool's output from its stderr stream, extracts the
        relevant information, and parses it.
Reads the tool s output from its stderr stream extracts the relevant information and parses it .
def _get_info(self):
        """Reads the tool's output from its stderr stream, extracts the
        relevant information, and parses it.
        """
        out_parts = []
        while True:
            line = self.proc.stderr.readline()
            if not line:
                # EOF and data not found.
                raise CommunicationError("stream info not found")

            # In Python 3, result of reading from stderr is bytes.
            if isinstance(line, bytes):
                line = line.decode('utf8', 'ignore')

            line = line.strip().lower()

            if 'no such file' in line:
                raise IOError('file not found')
            elif 'invalid data found' in line:
                raise UnsupportedError()
            elif 'duration:' in line:
                out_parts.append(line)
            elif 'audio:' in line:
                out_parts.append(line)
                self._parse_info(''.join(out_parts))
                break
def _get_info ( self ) : out_parts = [ ] while True : line = self . proc . stderr . readline ( ) if not line : # EOF and data not found. raise CommunicationError ( "stream info not found" ) # In Python 3, result of reading from stderr is bytes. if isinstance ( line , bytes ) : line = line . decode ( 'utf8' , 'ignore' ) line = line . strip ( ) . lower ( ) if 'no such file' in line : raise IOError ( 'file not found' ) elif 'invalid data found' in line : raise UnsupportedError ( ) elif 'duration:' in line : out_parts . append ( line ) elif 'audio:' in line : out_parts . append ( line ) self . _parse_info ( '' . join ( out_parts ) ) break