'Walk the dictionary of images statuses and print results.'

def summary(self):

    for image in self.images:
        if (image.status in STATUS_ERRORS):
            LOG.debug('Image    %s    failed', image.name)
    self.get_image_statuses()
    results = {'built': [], 'failed': [], 'not_matched': [], 'skipped': []}
    if self.image_statuses_good:
        LOG.info('=========================')
        LOG.info('Successfully    built    images')
        LOG.info('=========================')
        for name in sorted(self.image_statuses_good.keys()):
            LOG.info(name)
            results['built'].append({'name': name})
    if self.image_statuses_bad:
        LOG.info('===========================')
        LOG.info('Images    that    failed    to    build')
        LOG.info('===========================')
        for (name, status) in sorted(self.image_statuses_bad.items()):
            LOG.error('%s    Failed    with    status:    %s', name, status)
            results['failed'].append({'name': name, 'status': status})
    if self.image_statuses_unmatched:
        LOG.debug('=====================================')
        LOG.debug('Images    not    matched    for    build    by    regex')
        LOG.debug('=====================================')
        for name in self.image_statuses_unmatched.keys():
            LOG.debug(name)
            results['not_matched'].append({'name': name})
    if self.image_statuses_skipped:
        LOG.debug('================================')
        LOG.debug('Images    skipped    due    build    options')
        LOG.debug('================================')
        for name in self.image_statuses_skipped.keys():
            LOG.debug(name)
            results['skipped'].append({'name': name})
    return results
