// returns (transpilationResult, compilationResult) static PairS uploadTranspilation(S progID, S transpilation, LS libs) { S server = tb_mainServer(); S transpilationResult = postPageWithCredentials(server + "/tb/upload-transpilation.php", id := psI(progID), +transpilation, libs := lines(map parseSnippetID(libs)), computer := computerID()); Matcher m = regexp("URL=/(dexcompile\\.php.*?)'", transpilationResult); if (!m.find()) fail("Server said: " + transpilationResult); S url = addParamToURL(server + "/" + m.group(1), useJarBot := 1); S compilationResult = postPageWithCredentials(url); print(compilationResult); bool ok = compilationResult.contains("" + "SUCCESS"); // XXX sendToSnippetUpdatesBot((ok ? "/transpileOK" : "transpileFail") + "/" + psI(progID)); if (!ok) fail("Server said: " + compilationResult); print("Transpiled & uploaded " + fsI(progID) + "!"); ret pair(transpilationResult, compilationResult); }