'Check good hashes against ones built from iterable of chunks of
data.
Raise HashMismatch if none match.'

def check_against_chunks(self, chunks):

    gots = {}
    for hash_name in iterkeys(self._allowed):
        try:
            gots[hash_name] = hashlib.new(hash_name)
        except (ValueError, TypeError):
            raise InstallationError(('Unknown    hash    name:    %s' % hash_name))
    for chunk in chunks:
        for hash in itervalues(gots):
            hash.update(chunk)
    for (hash_name, got) in iteritems(gots):
        if (got.hexdigest() in self._allowed[hash_name]):
            return
    self._raise(gots)
