def update_apply_all_res(seqinfo, last_pid, mass_reses):
now = strftime(DATETIMEFMT, gmtime())<EOL>last_pid, prev_pages, thread_res = spider_res_thread(last_pid)<EOL>mass_adds = []<EOL>mass_reses_out = []<EOL>for reservee, url in mass_reses.items():<EOL><INDENT>current, dups, unknowns = parse_mass_reservation(reservee, url)<EOL>if current is None or dups is None or unknowns is None:<EOL><INDENT>_logger.info(f"<STR_LIT>")<EOL>continue<EOL><DEDENT>old = set(ali.seq for ali in seqinfo.values() if ali.res == reservee)<EOL>drops = old - current<EOL>adds = current - old<EOL>if adds or drops:<EOL><INDENT>_logger.info(f"<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>_logger.info(f"<STR_LIT>")<EOL><DEDENT>dropres = seqinfo.unreserve_seqs(reservee, drops)<EOL>mass_adds.append((reservee, adds))<EOL>mass_reses_out.append([reservee, dups, unknowns, dropres])<EOL><DEDENT>out = []<EOL>for name, adds, drops, updates in thread_res:<EOL><INDENT>addres = seqinfo.reserve_seqs(name, adds)<EOL>dropres = seqinfo.unreserve_seqs(name, drops)<EOL>updateres = seqinfo.update_seqs(name, updates)<EOL>out.append((name, addres, dropres, updateres))<EOL><DEDENT>for name_adds, lst in zip(mass_adds, mass_reses_out):<EOL><INDENT>lst.append(seqinfo.reserve_seqs(*name_adds))<EOL><DEDENT>seqinfo.resdatetime = now<EOL>return last_pid, prev_pages, out, mass_reses_out<EOL>
Searches all known reservations, returning compiled reses to be applied,
    as well as various results from subordinate functions