public void Evaluate(int numberOfGroups, string[] directories, int specificGroup) { var groupedFilesList = DirectoryGroupEvaluator.Evaluate(numberOfGroups, directories); var groupedResults = new List <List <JavaScriptEvaluationResult> >(); var i = 1; foreach (var fileList in groupedFilesList) { if (specificGroup == 0 || i == specificGroup) { Ux.WriteLine(string.Format("Group{0} ({1} {2})", i, fileList.StartDir, fileList.EndDir)); groupedResults.Add(JavaScriptStatsPresenter.Present(fileList.Files)); Ux.WriteLine(""); ScrollDown(null, null); } i++; } Ux.DisplayBoolOption("Store detailed JS results to disk?", () => { i = 1; foreach (var resultGroup in groupedResults) { JavaScriptStatsStorageService.Store(resultGroup, string.Format("Group {0}", specificGroup > 0 ? specificGroup : i)); ScrollDown(null, null); i++; } //FolderPresenter.Present(Properties.Settings.Default.ResultsPath); }, null); Ux.WriteLine(""); }
public void View(List <string> files) { if (Directory.Exists(Properties.Settings.Default.InspectionPath)) { var results = JavaScriptStatsPresenter.Present(FilteredFilesEvaluator.Evaluate(files)); Ux.DisplayBoolOption("Store detailed JavaScript results to disk?", () => CssJavaScriptStorageService.Store(results, string.Empty), null); Ux.WriteLine(""); } else { MessageBox.Show("Invalid Directory"); } }
public void Execute() { SettingsValidator.Validate(); var directory = SettingsEvaluator.GetApTwoDirectory(); var files = DirectoryDescendentFilesEvaluator.Evaluate(directory).OrderBy(x => x).ToList(); var loop = true; while (loop) { Ux.WriteLine(string.Format("Analysing: {0}", directory)); Ux.AddOption("Exit", () => loop = false); Ux.AddOptionWithHeadingSpace("View all file extensions", () => FileExtensionPresenter.Present(files)); Ux.AddOption("View all files", () => ListPresenter.Present(files)); Ux.AddOption("View filtered extensions", () => FilteredFilesPresenter.PresentFilteredExtensions()); Ux.AddOption("View filtered files", () => FilteredFilesPresenter.PresentFilteredFiles(files)); Ux.AddOption("View filtered file statistics", () => FilteredFilesStatsPresenter.Present(files)); Ux.AddOptionWithHeadingSpace("Count inline CSS on filtered files", () => { var results = CssStatsPresenter.Present(FilteredFilesEvaluator.Evaluate(files)); Ux.DisplayBoolOption("Store detailed CSS results to disk?", () => CssStatsStorageService.Store(results, string.Empty), null); }); Ux.AddOptionWithHeadingSpace("Count inline Javascript on filtered files", () => { var results = JavaScriptStatsPresenter.Present(FilteredFilesEvaluator.Evaluate(files)); Ux.DisplayBoolOption("Store detailed JavaScript results to disk?", () => JavaScriptStatsStorageService.Store(results, string.Empty), null); }); Ux.AddOptionWithHeadingSpace("Count inline Javascript and CSS on specific file...", () => JavaScriptFileStatsPresenter.Present()); Ux.DisplayOptions("Please choose an option"); } }