'Reads the file. Imposes a file limit and tries to cope with
UTF-8 and UTF-16 files appropriately. Return file contents and
a list of error messages.'

def read_file(self, allow_empty=False):

    try:
        file_data = self._read_file(allow_empty)
        if (self.selected and (self.selected.get('filename') == 'manifest.webapp')):
            file_data = self._process_manifest(file_data)
        return file_data
    except (IOError, OSError):
        self.selected['msg'] = _('That    file    no    longer    exists.')
        return ''
