Пример #1
0
        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);
        }
Пример #2
0
        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();
        }
Пример #3
0
		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();
		}