'Obtain and print obj auditor statistics
:param hosts: set of hosts to check. in the format of:
set([(\'127.0.0.1\', 6020), (\'127.0.0.2\', 6030)])'

def object_auditor_check(self, hosts):

    all_scan = {}
    zbf_scan = {}
    atime = 'audit_time'
    bprocessed = 'bytes_processed'
    passes = 'passes'
    errors = 'errors'
    quarantined = 'quarantined'
    recon = Scout('auditor/object', self.verbose, self.suppress_errors, self.timeout)
    print(('[%s]    Checking    auditor    stats    ' % self._ptime()))
    for (url, response, status, ts_start, ts_end) in self.pool.imap(recon.scout, hosts):
        if (status == 200):
            if response['object_auditor_stats_ALL']:
                all_scan[url] = response['object_auditor_stats_ALL']
            if response['object_auditor_stats_ZBF']:
                zbf_scan[url] = response['object_auditor_stats_ZBF']
    if (len(all_scan) > 0):
        stats = {}
        stats[atime] = [sum(self.nested_get_value(atime, all_scan[i])) for i in all_scan]
        stats[bprocessed] = [sum(self.nested_get_value(bprocessed, all_scan[i])) for i in all_scan]
        stats[passes] = [sum(self.nested_get_value(passes, all_scan[i])) for i in all_scan]
        stats[errors] = [sum(self.nested_get_value(errors, all_scan[i])) for i in all_scan]
        stats[quarantined] = [sum(self.nested_get_value(quarantined, all_scan[i])) for i in all_scan]
        for k in stats:
            if (None in stats[k]):
                stats[k] = [x for x in stats[k] if (x is not None)]
            if (len(stats[k]) < 1):
                print(('[Auditor    %s]    -    No    hosts    returned    valid    data.' % k))
            else:
                computed = self._gen_stats(stats[k], name=('ALL_%s_last_path' % k))
                if (computed['reported'] > 0):
                    self._print_stats(computed)
                else:
                    print('[ALL_auditor]    -    No    hosts    returned    valid    data.')
    else:
        print('[ALL_auditor]    -    No    hosts    returned    valid    data.')
    if (len(zbf_scan) > 0):
        stats = {}
        stats[atime] = [sum(self.nested_get_value(atime, zbf_scan[i])) for i in zbf_scan]
        stats[bprocessed] = [sum(self.nested_get_value(bprocessed, zbf_scan[i])) for i in zbf_scan]
        stats[errors] = [sum(self.nested_get_value(errors, zbf_scan[i])) for i in zbf_scan]
        stats[quarantined] = [sum(self.nested_get_value(quarantined, zbf_scan[i])) for i in zbf_scan]
        for k in stats:
            if (None in stats[k]):
                stats[k] = [x for x in stats[k] if (x is not None)]
            if (len(stats[k]) < 1):
                print(('[Auditor    %s]    -    No    hosts    returned    valid    data.' % k))
            else:
                computed = self._gen_stats(stats[k], name=('ZBF_%s_last_path' % k))
                if (computed['reported'] > 0):
                    self._print_stats(computed)
                else:
                    print('[ZBF_auditor]    -    No    hosts    returned    valid    data.')
    else:
        print('[ZBF_auditor]    -    No    hosts    returned    valid    data.')
    print(('=' * 79))
