+ if not obj:
+ # If the song file was recognized, but there is no picture, the
+ # response is successful, but is otherwise empty.
+ return obj
+ amount = int(obj['binary'])
+ try:
+ obj['data'] = self._read_binary(amount)
+ except IOError as err:
+ raise ConnectionError(f'Error reading binary content: {err}') from err
+ data_bytes = len(obj['data'])
+ if data_bytes != amount: # can we ever get there?
+ raise ConnectionError('Error reading binary content: '
+ f'Expects {amount}B, got {data_bytes}')
+ # Fetches trailing new line
+ self._read_line(binary=True)
+ # Fetches SUCCESS code
+ self._read_line(binary=True)