public static List <string> LoadPreviousMpdnChangelog() { var html = new List <string>(); using (new HourGlass()) { var webClient = new WebClient(); WebClientHelper.SetHeaders(webClient); var changelog = webClient.DownloadString(String.Format("{0}ChangeLog.txt", UpdateChecker.LatestFolderUrl)); html.Add("<h1>Changelogs</h1>"); foreach (var line in Regex.Split(changelog, "\r\n|\r|\n")) { if (line.Contains("Changelog") && Version.ContainsVersionString(line)) { html.Add(String.Format("<h2>{0}</h2><ol>", line)); } else if (String.IsNullOrWhiteSpace(line)) { html.Add("</ol>"); } else { html.Add(String.Format("<li>{0}</li>", line)); } } } return(html); }
protected virtual void ParseChangelog(string changelog) { Version serverVersion = null; foreach (var line in Regex.Split(changelog, "\r\n|\r|\n")) { if (Version.ContainsVersionString(line)) { if (serverVersion == null) { serverVersion = new Version(line); } else { break; } } else if (serverVersion != null && !string.IsNullOrWhiteSpace(line)) { serverVersion.ChangelogLines.Add(line); } } GuiThread.DoAsync(() => { if (Settings.MpdnVersionOnServer == serverVersion) { return; } Settings.MpdnVersionOnServer = serverVersion; Settings.ForgetMpdnVersion = false; }); }