static void Main() { Console.WriteLine("Enter the number of the item you wish to run:"); Console.WriteLine(); Console.WriteLine("1) Use Paratext key terms to attempt localization of character IDs"); Console.WriteLine("2) Remove verse bridges from control file (currently removes comments)"); Console.WriteLine("3) Generate comparison file against FCBH template"); Console.WriteLine("4) Update CharacterDetail file (make references correspond to CharacterVerse file)"); Console.WriteLine("5) BiblicalTerms.Processor.Process()"); Console.WriteLine("6) CharacterListProcessing.Process()"); Console.WriteLine("7) Output ranges of consecutive verses with single character"); Console.WriteLine("8) Diff new version of DG against previous"); Console.WriteLine("9) Generate reference texts from Excel spreadsheet"); Console.WriteLine("10) Link reference texts to English"); Console.WriteLine("11) Generate character mapping FCBH<->Glyssen (output in Resources/temporary)"); Console.WriteLine("12) Obfuscate proprietary reference texts to make testing resources (output in GlyssenTests/Resources/temporary)"); Console.WriteLine("13) Generate reference text book title and chapter label summary"); Console.WriteLine("14) Create new English reference text (see comments in the Mode enum in ReferenceTextUtility). May append OT or NT."); string selection = Console.ReadLine(); string outputType = "errors"; bool waitForUserToSeeOutput = false; ReferenceTextUtility.OnMessageRaised += (msg, error) => { Console.WriteLine(msg); }; try { switch (selection) { case "1": TermTranslator.Processor.Process(); break; case "2": VerseBridgeHelper.RemoveAllVerseBridges(); break; case "3": FCBH.Processor.Process(); break; case "4": CharacterDetailProcessing.GenerateReferences(); break; case "5": BiblicalTerms.Processor.Process(); break; case "6": CharacterListProcessing.Process(); break; case "7": CharacterDetailProcessing.GetAllRangesOfThreeOrMoreConsecutiveVersesWithTheSameSingleCharacterNotMarkedAsImplicit(); break; case "8": DiffDirectorGuide(); outputType = "differences"; waitForUserToSeeOutput = true; break; case "9": ReferenceTextUtility.ProcessReferenceTextDataFromFile(ReferenceTextUtility.Mode.Generate); waitForUserToSeeOutput = true; break; case "10": ReferenceTextUtility.LinkToEnglish(); waitForUserToSeeOutput = ReferenceTextUtility.ErrorsOccurred; break; case "11": ReferenceTextUtility.ProcessReferenceTextDataFromFile(ReferenceTextUtility.Mode.CreateCharacterMapping, ReferenceTextProxy.GetOrCreate(ReferenceTextType.English)); waitForUserToSeeOutput = true; break; case "12": ReferenceTextUtility.ObfuscateProprietaryReferenceTextsToMakeTestingResources(); break; case "13": ReferenceTextUtility.ProcessReferenceTextDataFromFile(ReferenceTextUtility.Mode.CreateBookTitleAndChapterLabelSummary); waitForUserToSeeOutput = ReferenceTextUtility.ErrorsOccurred; break; case "14": case "14NT": case "14OT": var testamentStr = selection.Replace("14", String.Empty); ReferenceTextUtility.Testament testament; switch (testamentStr) { case "NT": testament = ReferenceTextUtility.Testament.NT; break; case "OT": testament = ReferenceTextUtility.Testament.OT; break; default: testament = ReferenceTextUtility.Testament.WholeBible; break; } ReferenceTextUtility.ProcessReferenceTextDataFromFile(ReferenceTextUtility.Mode.GenerateEnglish, null, testament); outputType = "output"; waitForUserToSeeOutput = true; break; } } catch (Exception e) { Console.WriteLine(e); waitForUserToSeeOutput = true; } if (waitForUserToSeeOutput) { Console.WriteLine($"Review {outputType} above, then press Enter to close."); Console.ReadLine(); } }
private static void DiffDirectorGuide() { Console.WriteLine("What language do you want to diff?"); Console.WriteLine(""); Console.WriteLine("1) All"); Console.WriteLine("2) English"); Console.WriteLine("3) Russian"); Console.WriteLine("** For a custom (proprietary) language, type its name."); Console.WriteLine(); string selection = Console.ReadLine(); ReferenceTextProxy id = null; switch (selection) { case "1": break; // All case "English": case "english": case "2": id = ReferenceTextProxy.GetOrCreate(ReferenceTextType.English); break; case "Russian": case "russian": case "3": id = ReferenceTextProxy.GetOrCreate(ReferenceTextType.Russian); break; default: id = ReferenceTextProxy.GetOrCreate(ReferenceTextType.Custom, selection); if (id.Missing) { Console.WriteLine("Requested custom reference text not found!"); return; } break; } Console.WriteLine("Enter desired sensitivity?"); Console.WriteLine(""); Console.WriteLine("1) Report all differences"); Console.WriteLine("2) Ignore only whitespace differences"); Console.WriteLine("3) Ignore curly vs. straight quote and whitespace differences (default)"); Console.WriteLine("4) Ignore quotation mark and whitespace differences"); Console.WriteLine("5) Report only alpha-numeric text differences (ignore differences in whitespace, punctuation, and symbols)"); Console.WriteLine("*** NOTE *** For more specific control or to see more details, set a breakpoint in CompareIgnoringQuoteMarkDifferences."); Console.WriteLine(); string sensitivity = Console.ReadLine(); switch (sensitivity) { case "1": ReferenceTextUtility.DifferencesToIgnore = ReferenceTextUtility.Ignore.Nothing; break; case "2": ReferenceTextUtility.DifferencesToIgnore = ReferenceTextUtility.Ignore.WhitespaceDifferences; break; case "4": ReferenceTextUtility.DifferencesToIgnore = ReferenceTextUtility.Ignore.QuotationMarkDifferences | ReferenceTextUtility.Ignore.WhitespaceDifferences; break; case "5": ReferenceTextUtility.DifferencesToIgnore = ReferenceTextUtility.Ignore.AllDifferencesExceptAlphaNumericText; break; } ReferenceTextUtility.ProcessReferenceTextDataFromFile(ReferenceTextUtility.Mode.FindDifferencesBetweenCurrentVersionAndNewText, id); }