Esempio n. 1
0
        public static void ExtractEdxCourseArchive(string baseDir, string tarGzFilepath)
        {
            var filename = tarGzFilepath;

            Console.WriteLine($"Extracting {filename}");

            var extractedTarDirectory = Path.Combine(baseDir, ".extracted-" + Path.GetFileName(filename).EnsureNotNull().Replace(".tar.gz", ""));

            ArchiveManager.ExtractTar(filename, extractedTarDirectory);
            var extractedOlxDirectory = Directory.GetDirectories(extractedTarDirectory).Single();

            Utils.DeleteDirectoryIfExists(baseDir + "/olx");
            Directory.Move(extractedOlxDirectory, baseDir + "/olx");
            Directory.Delete(extractedTarDirectory);
        }
Esempio n. 2
0
        public static void CreateEdxCourseArchive(string baseDir, string courseName, bool gzipped = false)
        {
            var extension = gzipped ? ".tar.gz" : ".tar";

            Environment.CurrentDirectory = baseDir;
            var outputTarFilename = $"{courseName}{extension}";

            Console.WriteLine($"Creating archive {outputTarFilename}");
            Utils.DeleteFileIfExists(outputTarFilename);
            if (gzipped)
            {
                ArchiveManager.CreateTarGz(outputTarFilename, "olx");
            }
            else
            {
                ArchiveManager.CreateTar(outputTarFilename, "olx");
            }
        }
Esempio n. 3
0
        public static void Upload(string baseDir, string courseName, Config config, string edxStudioUrl, Credentials credentials)
        {
            Environment.CurrentDirectory = baseDir;
            Utils.DeleteDirectoryIfExists("temp");
            if (Directory.Exists(courseName))
            {
                Directory.Move(courseName, "temp");
            }
            Utils.DirectoryCopy("olx", courseName, true);
            Utils.DeleteFileIfExists(courseName + ".tar.gz");

            Console.WriteLine("Creating {0}.tar.gz...", courseName);
            ArchiveManager.CreateTar(courseName + ".tar.gz", courseName);

            Utils.DeleteDirectoryIfExists(courseName);
            if (Directory.Exists("temp"))
            {
                Directory.Move("temp", courseName);
            }

            Console.WriteLine("Uploading {0}.tar.gz to {1}", courseName, edxStudioUrl);
            Upload(edxStudioUrl, credentials.Email, credentials.GetPassword(), config.Organization, config.CourseNumber, config.CourseRun, courseName + ".tar.gz");
            Utils.DeleteFileIfExists(courseName + ".tar.gz");
        }