private void ChocoListCommand_OnCommentUpdate(object sender, CommandUpdatedEventArgs e) { if (String.IsNullOrWhiteSpace(e.OutputLine)) { return; } String[] parts = e.OutputLine.Split(' '); Version ver; if (Version.TryParse(parts[1], out ver)) { ListItem info = new ListItem(); info.Name = parts[0]; info.Version = ver; if (parts.Length > 2 && parts[2] == "[Approved]") { info.Approved = true; } if (parts.Length > 3) { info.Comment = parts[3]; } Output.Add(info); if (OnUpdate != null) { ChocoListUpdateEventArgs args = new ChocoListUpdateEventArgs(); args.Program = info; OnUpdate(this, args); } } }
private void P_OutputDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data == null) { return; } if (e.Data.StartsWith("Chocolatey v")) { ChocolateyVersion = Version.Parse(e.Data.Substring(12)); if (ChocolateyVersion > CompatableChocoVersion) { throw new NotSupportedException(""); } return; } else if (InputRequestRegex.IsMatch(e.Data)) { //Do you want to run the script?([Y]es/[N]o/[P]rint): Match m = InputRequestRegex.Match(e.Data); CommandInputNeededEventArgs ea = new CommandInputNeededEventArgs(); ea.Message = m.Groups[1].Value; foreach (String option in m.Groups[2].Value.Split('/')) { if (!InputOptionRegex.IsMatch(option)) { throw new Exception("Input request option does not match expected pattern: " + option); } Match om = InputOptionRegex.Match(option); String character = om.Groups[2].Value; StringBuilder text = new StringBuilder(); for (int i = 1; i < om.Groups.Count; i++) { text.Append(om.Groups[i].Value); } } } else { if (OnCommandUpdated != null) { CommandUpdatedEventArgs args = new CommandUpdatedEventArgs(); args.OutputLine = e.Data; OnCommandUpdated(this, args); } } }
private void ChocoOutdatedCommand_OnCommandUpdated(object sender, CommandUpdatedEventArgs e) { if (OutdatedOutputRegex.IsMatch(e.OutputLine)) { Match m = OutdatedOutputRegex.Match(e.OutputLine); Outdatedtem info = new Outdatedtem(); info.Name = m.Groups[1].Value; info.InstalledVersion = Version.Parse(m.Groups[2].Value); info.LatestVersion = Version.Parse(m.Groups[3].Value); info.Pinned = Boolean.Parse(m.Groups[4].Value); if (OnUpdate != null) { ChocoOutdatedUpdateEventArgs args = new ChocoOutdatedUpdateEventArgs(); args.Program = info; OnUpdate(this, args); } } }
private void ChocoUpgradeCommand_OnCommandUpdated(object sender, CommandUpdatedEventArgs e) { }