Exemplo n.º 1
0
        public static async Task <InitResult> Initialize(WorcsDocument document)
        {
            if (!document.HasFlag(WorcsDocumentFlags.WorkingDirExists))
            {
                return(InitResult.TempDirNotFound);
            }

            if (document.HasFlag(WorcsDocumentFlags.RepositoryExists))
            {
                return(InitResult.RepoAlreadyExists);
            }

            Repository.Init(document.RepoDir);
            document.SetFlag(WorcsDocumentFlags.RepositoryExists);
            document.SetFlag(WorcsDocumentFlags.HasUncommitedChanges);

            return(InitResult.Success);
        }
Exemplo n.º 2
0
        public static async Task <UnpackResult> Unpack(WorcsDocument document)
        {
            if (!document.HasFlag(WorcsDocumentFlags.WorkingDirExists))
            {
                var userTempDir = Path.GetTempPath();
                var tempDirName = await document.GetHashedFilename();

                document.WorkingDir = Path.Combine(userTempDir, TempDirParentName, tempDirName);
                document.RepoDir    = Path.Combine(document.WorkingDir, RepoDirName);
                document.SetFlag(WorcsDocumentFlags.WorkingDirExists);
            }

            if (!File.Exists(document.WordFilepath))
            {
                return(UnpackResult.FileNotFound);
            }

            await Console.Out.WriteLineAsync($"Unpacking word file {document.WordFilepath} to temp repo dir {document.RepoDir}.");

            ZipFile.ExtractToDirectory(document.WordFilepath, document.RepoDir, true);

            return(UnpackResult.Success);
        }