public override void DoExecute() { var ulearnDir = new DirectoryInfo($"{Dir}/{Config.ULearnCourseId}"); Console.Write("Loading Ulearn course from {0} ... ", ulearnDir.Name); var sw = Stopwatch.StartNew(); var course = new CourseLoader().Load(ulearnDir); Console.WriteLine(sw.ElapsedMilliseconds + " ms"); var slides = course.GetSlides(true); if (SlideId != null) { slides = slides.Where(s => s.Id == Guid.Parse(SlideId)).ToList(); Console.WriteLine("Only slide " + SlideId); } var validator = new CourseValidator(slides); validator.InfoMessage += m => Write(ConsoleColor.Gray, m); var errors = new List <string>(); validator.Error += m => { Write(ConsoleColor.Red, m); errors.Add(m); }; validator.Warning += m => { Write(ConsoleColor.DarkYellow, m); errors.Add(m); }; validator.ValidateSpelling(course); validator.ValidateExercises(); validator.ValidateVideos(); validator.ValidateFlashcardSlides(); validator.ValidateSlidesXml(); if (errors.Any()) { Console.WriteLine("Done! There are errors:"); foreach (var error in errors) { Write(ConsoleColor.Red, error, true); } File.WriteAllText(course.Id + "-validation-report.html", GenerateHtmlReport(course, errors)); } else { Console.WriteLine("OK! No errors found"); } Console.WriteLine("Press any key..."); Console.WriteLine("Exit code " + Environment.ExitCode); Console.ReadLine(); Environment.Exit(Environment.ExitCode); }
public override void DoExecute() { var ulearnDir = new DirectoryInfo($"{Dir}/{Config.ULearnCourseId}"); Console.Write("Loading Ulearn course from {0} ... ", ulearnDir.Name); var sw = Stopwatch.StartNew(); var course = new CourseLoader().LoadCourse(ulearnDir); Console.WriteLine(sw.ElapsedMilliseconds + " ms"); var slides = course.Slides; if (SlideId != null) { slides = course.Slides.Where(s => s.Id == Guid.Parse(SlideId)).ToList(); Console.WriteLine("Only slide " + SlideId); } var validator = new CourseValidator(slides, new SandboxRunnerSettings()); validator.InfoMessage += m => Write(ConsoleColor.Gray, m); var errors = new List <string>(); validator.Error += m => { Write(ConsoleColor.Red, m); errors.Add(m); }; validator.ValidateExercises(); validator.ValidateVideos(); if (errors.Any()) { Console.WriteLine("Done! There are errors:"); foreach (var error in errors) { Write(ConsoleColor.Red, error); } } else { Console.WriteLine("OK! No errors found"); } Console.WriteLine("Press any key..."); Console.ReadLine(); }
public override void DoExecute() { var ulearnDir = new DirectoryInfo(string.Format("{0}/{1}", Dir, Config.ULearnCourseId)); Console.Write("Loading Ulearn course from {0} ... ", ulearnDir.Name); var sw = Stopwatch.StartNew(); var course = new CourseLoader().LoadCourse(ulearnDir); Console.WriteLine(sw.ElapsedMilliseconds + " ms"); var slides = course.Slides; if (SlideId != null) { slides = course.Slides.Where(s => s.Id == Guid.Parse(SlideId)).ToArray(); Console.WriteLine("Only slide " + SlideId); } var validator = new CourseValidator(slides, new SandboxRunnerSettings()); validator.InfoMessage += m => Write(ConsoleColor.Gray, m); var errors = new List<string>(); validator.Error += m => { Write(ConsoleColor.Red, m); errors.Add(m); }; validator.ValidateExercises(); validator.ValidateVideos(); if (errors.Any()) { Console.WriteLine("Done! There are errors:"); foreach (var error in errors) { Write(ConsoleColor.Red, error); } } else Console.WriteLine("OK! No errors found"); Console.WriteLine("Press any key..."); Console.ReadLine(); }