docs: def verify(info, directory_path):
      """Return True if the checksum values in the torrent file match the
      computed checksum values of downloaded file(s) in the directory and if
      each file has the correct length as specified in the torrent file.
      """
      base_path = os.path.join(directory_path, info['name'])
      if 'length' in info:
          if os.stat(base_path).st_size != info['length']:
              return False
          getfile = lambda: open(base_path, 'rb')
      else:
          assert 'files' in info, 'invalid torrent file'
          for f in info['files']:
              p = os.path.join(base_path, *f['path'])
              if os.stat(p).st_size != f['length']:
                  return False
          getfile = lambda: ConcatenatedFile(base_path, info['files'])
      with getfile() as f:
          return compare_checksum(info, f)