public ActionResult MapperProgress() { var log = ProcHttpClient.GetLog("Mapper", 0) .Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '|' }, 2)); if (!log.Any()) { return(Content("")); } if (log.Last()[1] == "Process Ended!") { ProcHttpClient.ClearLog("Mapper"); return(Content("Completed")); } var lastProg = log.LastOrDefault(s => s[1].Contains("% complete")); if (lastProg == null) { return(Content("0%")); } return(Content(lastProg[1].Split(' ')[8])); }
public ActionResult GetOutput(long since = 0) { var log = ProcHttpClient.GetLog("McServer", since) .Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '|' }, 2)); var lastTimestamp = log.Last()[0]; var result = new { Output = log.Aggregate("", (s1, s2) => s1 + HttpUtility.HtmlEncode(s2[1]) + "<br />\r\n"), LastTimestamp = lastTimestamp, Ticks = DateTime.Now.Ticks, }; return(Json(result, JsonRequestBehavior.AllowGet)); }