예제 #1
0
        private void UnpruneDirectory(string path)
        {
            try
            {
                PartPrunerUi.Instance.Log("Unpruning files from " + PartPrunerUi.GetGameDataPath(path));
                var files = Directory.GetFiles(path).ToList();
                files.AddRange(Directory.GetDirectories(path));

                foreach (var file in files)
                {
                    if (File.Exists(file))
                    {
                        UnpruneFile(file);
                    }
                    else if (Directory.Exists(file))
                    {
                        UnpruneDirectory(file);
                    }
                }
            }
            catch (IOException ex)
            {
                PartPrunerUi.Instance.LogError(ex.ToString());
            }
        }
예제 #2
0
        /// <summary>
        /// Takes a list of file and directory paths and removes the .prune extension from all contained files
        /// </summary>
        /// <param name="filesList">List of file and directory paths</param>
        public void UnpruneFiles(IEnumerable <string> filesList)
        {
            foreach (var file in filesList)
            {
                foreach (var line in LoadFilePaths(file))
                {
                    var prunefile = Path.Combine(Main.Instance.CurrentInstance.GameData(), line + ".prune");
                    var path      = Path.Combine(Main.Instance.CurrentInstance.GameData(), line);

                    if (File.Exists((prunefile)))
                    {
                        path += ".prune";
                    }

                    if (File.Exists(path))
                    {
                        UnpruneFile(path);
                    }

                    else if (Directory.Exists(path))
                    {
                        UnpruneDirectory(path);
                    }

                    else
                    {
                        PartPrunerUi.Instance.LogWarning("\"" + PartPrunerUi.GetGameDataPath(path) + "\" is not a file or a directory.");
                    }
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Takes a list of file and directory paths and adds the .prune extension to all contained files
        /// </summary>
        /// <param name="filesList">List of file and directory paths</param>
        public void PruneFiles(IEnumerable <string> filesList)
        {
            foreach (var file in filesList)
            {
                foreach (var line in LoadFilePaths(file))
                {
                    if (IsBlankOrComment(line))
                    {
                        continue;
                    }

                    var path = Path.Combine(Main.Instance.CurrentInstance.GameData(), line);


                    if (File.Exists(path))
                    {
                        PruneFile(path);
                    }

                    else if (Directory.Exists(path))
                    {
                        PruneDirectory(path);
                    }

                    else
                    {
                        PartPrunerUi.Instance.LogWarning("\"" + PartPrunerUi.GetGameDataPath(path) + "\" is not a file or a directory.");
                    }
                }
            }
        }
예제 #4
0
 private void PruneFile(string file)
 {
     try
     {
         File.Move(file, file + ".prune");
         PartPrunerUi.Instance.Log("Pruned: " + PartPrunerUi.GetGameDataPath(file));
     }
     catch (IOException ex)
     {
         PartPrunerUi.Instance.LogError(ex.ToString());
     }
 }
예제 #5
0
 private void UnpruneFile(string file)
 {
     try
     {
         var newFile = file.Replace(".prune", "");
         File.Move(file, newFile);
         PartPrunerUi.Instance.Log("Unpruned: " + PartPrunerUi.GetGameDataPath(file));
     }
     catch (IOException ex)
     {
         PartPrunerUi.Instance.LogError(ex.ToString());
     }
 }