!7 concept FileMeta { int fileID; S md5; long checked; } svoid init { dbIndexing(FileMeta, 'fileID); } p { init(); fullDownload(); } svoid fullDownload { download(diagramServer_IDsAndMD5s()); } svoid typicalDownload { download(diagramServer_typicalSet()); } svoid download(SS map) { loading "Downloading diagrams..." { dbIndexing(FileMeta, 'fileID); pnl(); 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); }