public override void DoExecute() { var profile = Config.GetProfile(Profile); Console.WriteLine("Please, download course from Edx (tar.gz from Tools - Export menu) and save it in working directory"); var tarGzPath = Dir.GetSingleFile(CourseTarGz ?? "*.tar.gz"); EdxInteraction.ExtractEdxCourseArchive(Dir, tarGzPath); Console.WriteLine("Loading edx course..."); var edxCourse = EdxCourse.Load(Dir + "/olx"); if (edxCourse.CourseWithChapters.Chapters.Length != 0) { Console.WriteLine("List of chapters to be removed or replaced:"); foreach (var chapterName in edxCourse.CourseWithChapters.Chapters.Select(x => x.DisplayName)) { Console.WriteLine("\t" + chapterName); } while (true) { Console.WriteLine("Do you want to proceed? (y/n)"); var key = Console.ReadKey(); if (key.Key == ConsoleKey.Y) { break; } if (key.Key == ConsoleKey.N) { return; } } } var video = LoadVideoInfo(); VideoHistory.UpdateHistory(Dir, video); Console.WriteLine($"Loading ulearn course from {Config.ULearnCourseId}"); var course = new CourseLoader().LoadCourse(new DirectoryInfo(Path.Combine(Dir, Config.ULearnCourseId))); Console.WriteLine($"Converting ulearn course \"{course.Id}\" to edx course"); Converter.ToEdxCourse( course, Config, profile.UlearnUrl + SlideUrlFormat, profile.UlearnUrl + SolutionsUrlFormat, video.Records.ToDictionary(x => x.Data.Id, x => x.Guid.GetNormalizedGuid()) ).Save(Dir + "/olx"); EdxInteraction.CreateEdxCourseArchive(Dir, course.Id); Console.WriteLine($"Now you can upload {course.Id}.tar.gz to edx via Tools - Import menu"); }
public override void DoExecute() { Console.WriteLine("Profile {0}", Profile); var profile = Config.GetProfile(Profile); if (!SkipExtractingTarGz) { var tarGzPath = Dir.GetSingleFile(CourseTarGz ?? "*.tar.gz"); EdxInteraction.ExtractEdxCourseArchive(Dir, tarGzPath); } Console.WriteLine("Loading OLX"); var edxCourse = EdxCourse.Load(Dir + "/olx"); Console.WriteLine("Patching OLX..."); Patch(new OlxPatcher(Dir + "/olx"), Config, profile, edxCourse); Console.WriteLine("Patched!"); EdxInteraction.CreateEdxCourseArchive(Dir, Config.ULearnCourseId); }
public override void DoExecute() { EdxInteraction.CreateEdxCourseArchive(Dir, Config.ULearnCourseId); }