コード例 #1
0
        public ArchiveExtraction Extract(string fileName)
        {
            var uuid             = Path.GetFileNameWithoutExtension(fileName);
            var targetFolderName = TemporaryFolder + Path.DirectorySeparatorChar + uuid;

            _compressionUtility.ExtractFolderFromArchive(fileName, targetFolderName);

            return(new ArchiveExtraction(uuid, targetFolderName));
        }
コード例 #2
0
ファイル: TestSessionFactory.cs プロジェクト: veridit/arkade5
        public TestSession NewSession(ArchiveFile archiveFile)
        {
            ReadingArchiveStartedEvent();
            _log.Information(
                $"Building new TestSession from file [archiveType: {archiveFile.ArchiveType}] [directory: {archiveFile.File.FullName}]");
            Uuid uuid = Uuid.Of(Path.GetFileNameWithoutExtension(archiveFile.File.Name));

            ArchiveInformationEvent(archiveFile.File.FullName, archiveFile.ArchiveType, uuid);

            WorkingDirectory workingDirectory = WorkingDirectory.FromUuid(uuid);

            TarExtractionStartedEvent();
            _compressionUtility.ExtractFolderFromArchive(archiveFile.File, workingDirectory.Root().DirectoryInfo());
            TarExtractionFinishedEvent(workingDirectory);

            TestSession testSession = NewSession(workingDirectory, archiveFile.ArchiveType, uuid);

            ReadingArchiveFinishedEvent();
            return(testSession);
        }