docs: def _collect_infos(dirname):
  
      """ Utility function used by ExplodedZipFile to generate ZipInfo
      entries for all of the files and directories under dirname """
  
      for r, _ds, fs in walk(dirname):
          if not islink(r) and r != dirname:
              i = ZipInfo()
              i.filename = join(relpath(r, dirname), "")
              i.file_size = 0
              i.compress_size = 0
              i.CRC = 0
              yield i.filename, i
  
          for f in fs:
              df = join(r, f)
              relfn = relpath(join(r, f), dirname)
  
              if islink(df):
                  pass
  
              elif isfile(df):
                  i = ZipInfo()
                  i.filename = relfn
                  i.file_size = getsize(df)
                  i.compress_size = i.file_size
                  i.CRC = file_crc32(df)
                  yield i.filename, i
  
              else:
                  # TODO: is there any more special treatment?
                  pass