string generateVdfsEntriesTreeView(VdfsEntry[] entries) { var treeGenerator = new VdfsEntriesTreeGenerator(entries); var entriesTree = treeGenerator.Generate(); return(entriesTree.GetTreeView()); }
static void Main(string[] args) { List <string> extra; try { extra = options.Parse(args); } catch (OptionException e) { Console.WriteLine(e.Message); return; } if (Options.ShowHelp || extra.Count == 0) { PrintHelp(); } else { var filePath = extra[0]; if (File.Exists(filePath) == false) { Console.WriteLine("File `{0}` do not exists!", filePath); return; } var reader = new VdfsReader(filePath); if (Options.ExtractPath != string.Empty) { Console.WriteLine("Extracting archive `{0}` to directory `{1}` (with hierarchy: {2}).", filePath, Options.ExtractPath, Options.WithHierarchy); using (var extractor = new VdfsExtractor(reader)) { extractor.ExtractFiles(Options.ExtractPath, (Options.WithHierarchy == true) ? ExtractOption.Hierarchy : ExtractOption.NoHierarchy); Console.WriteLine("Done."); } } else if (Options.PrintTree || Options.SaveTree != string.Empty) { var entries = reader.ReadEntries(false).ToArray(); var treeGenerator = new VdfsEntriesTreeGenerator(entries); var tree = treeGenerator.Generate(); var treeView = tree.GetTreeView(); if (Options.PrintTree) { Console.WriteLine(); Console.Write(treeView); } else { File.WriteAllText(Options.SaveTree, treeView); Console.WriteLine("Entries tree saved to file `{0}`", Options.SaveTree); } } else { PrintHelp(); } } return; }