code: def check_against_chunks(self, chunks):
          # type: (Iterator[bytes]) -> None
          
          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)
docs: Check good hashes against ones built from iterable of chunks of
          data.
  
          Raise HashMismatch if none match.