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()); } }
/// <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."); } } } }
/// <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."); } } } }
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()); } }
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()); } }