!7 concept FileMeta { int fileID; S md5; long checked; } p { dbIndexing(FileMeta, 'fileID); SS map; pnl(map = diagramServer_IDsAndMD5s()); for (S id : keys(map)) { S md5 = map.get(id); FileMeta m = uniq(FileMeta, fileID := parseInt(id)); cset(m, +md5, checked := now()); File f = getFile(m); if (!f.exists()) { S url = diagramServer_idToURL(id); saveBinaryFile(f, loadBinaryPage(url)); print("Saved " + f); } } print("Done."); } static File getFile(FileMeta m) { ret getProgramFile(m.md5); }