!7 static File mainLog, fTriples, file, file2; p { // First, rotate. mainLog = programFile(#1010745, "webs-made.txt"); fTriples = programFile(#1010745, "triples.gz"); rotateLogFile(mainLog); File tripelizedDir = programDir(#1010745, "tripelized"); // Load webs new Map fiMap; L webs = websMadeByProgram(#1010745, fiMap); Pair> pair = webs_tripelizable_nonTripelizable(webs); // Save triples file = new File(tripelizedDir, "triples.new.gz"); PrintWriter out = newPrintWriter(newGZIPOutputStream(file)); webs_toTripleFile(pair.a, out); out.close(); // Save non-triples file2 = new File(tripelizedDir, "webs-made.new.gz"); out = newPrintWriter(newGZIPOutputStream(file2)); for (Web web : pair.b) out.println(struct(fiMap.get(web))); out.close(); print("Stored " + nWeb(pair.a) + " in " + f2s(file) + ", " + nWeb(pair.b) + " in " + f2s(file2)); //phase2(); } svoid phase2 { // Move data to backups File fBackups = programFile(#1010745, "backups"); for (File f : earlierPartsOfLogFile(mainLog)) { int n = 1; File p; while ((p = newFile(fBackups, dropSuffix(".gz", f.getName()) + ".part" + n + ".gz")).exists()) ++n; renameFile_assertTrue(f, p); } // Backup triples.gz int n = 1; File p; while ((p = newFile(fBackups, dropSuffix(".gz", fTriples.getName()) + ".part" + n + ".gz")).exists()) ++n; renameFile_assertTrue(fTriples, p); // Rename main files renameFile_assertTrue(file, fTriples); renameFile_assertTrue(file2, programFile(#1010745, "webs-made.txt.part1.gz")); }