'Writes description into a MANIFEST file in the archive.'

def _WriteDescription(self):

    manifest = {'description': self.description, 'processed_files': self.total_files, 'archived_files': self.archived_files, 'ignored_files': len(self.ignored_files), 'failed_files': len(self.failed_files)}
    if self.ignored_files:
        manifest['ignored_files_list'] = self.ignored_files
    if self.failed_files:
        manifest['failed_files_list'] = self.failed_files
    manifest_fd = cStringIO.StringIO()
    if (self.total_files != self.archived_files):
        manifest_fd.write(self.FILES_SKIPPED_WARNING)
    manifest_fd.write(yaml.safe_dump(manifest))
    manifest_fd.seek(0)
    st = os.stat_result((420, 0, 0, 0, 0, 0, len(manifest_fd.getvalue()), 0, 0, 0))
    for chunk in self.archive_generator.WriteFromFD(manifest_fd, os.path.join(self.prefix, 'MANIFEST'), st=st):
        (yield chunk)
