From 918014c03c22357e2f173854ddfecadbecd019ec Mon Sep 17 00:00:00 2001 From: Enkidu93 Date: Thu, 13 Nov 2025 16:26:00 -0500 Subject: [PATCH 1/3] Add TryParse to ScriptureRef --- src/SIL.Machine/Corpora/ScriptureRef.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/SIL.Machine/Corpora/ScriptureRef.cs b/src/SIL.Machine/Corpora/ScriptureRef.cs index 73d230315..b236e80e0 100644 --- a/src/SIL.Machine/Corpora/ScriptureRef.cs +++ b/src/SIL.Machine/Corpora/ScriptureRef.cs @@ -43,6 +43,20 @@ public static ScriptureRef Parse(string str, ScrVers versification = null) return new ScriptureRef(new VerseRef(vref, versification ?? ScrVers.English), path); } + public static bool TryParse(string str, out ScriptureRef scriptureRef, ScrVers versification = null) + { + try + { + scriptureRef = Parse(str, versification); + return true; + } + catch + { + scriptureRef = Empty; + return false; + } + } + public ScriptureRef(VerseRef verseRef = default, IEnumerable path = null) { VerseRef = verseRef; From 16d336936c4a43f155699eae8ee4c1f7ac0910c2 Mon Sep 17 00:00:00 2001 From: Enkidu93 Date: Thu, 13 Nov 2025 16:57:23 -0500 Subject: [PATCH 2/3] Reviewer comments --- src/SIL.Machine/Corpora/ScriptureRef.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/SIL.Machine/Corpora/ScriptureRef.cs b/src/SIL.Machine/Corpora/ScriptureRef.cs index b236e80e0..6e9dd7195 100644 --- a/src/SIL.Machine/Corpora/ScriptureRef.cs +++ b/src/SIL.Machine/Corpora/ScriptureRef.cs @@ -43,14 +43,28 @@ public static ScriptureRef Parse(string str, ScrVers versification = null) return new ScriptureRef(new VerseRef(vref, versification ?? ScrVers.English), path); } - public static bool TryParse(string str, out ScriptureRef scriptureRef, ScrVers versification = null) + public static bool TryParse(string str, out ScriptureRef scriptureRef) + { + try + { + scriptureRef = Parse(str); + return true; + } + catch (VerseRefException) + { + scriptureRef = Empty; + return false; + } + } + + public static bool TryParse(string str, ScrVers versification, out ScriptureRef scriptureRef) { try { scriptureRef = Parse(str, versification); return true; } - catch + catch (VerseRefException) { scriptureRef = Empty; return false; From a92ae263ad0d5b9feffa085379b68e5cb0e3ddba Mon Sep 17 00:00:00 2001 From: Enkidu93 Date: Thu, 13 Nov 2025 17:05:55 -0500 Subject: [PATCH 3/3] Reuse method in overload --- src/SIL.Machine/Corpora/ScriptureRef.cs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/SIL.Machine/Corpora/ScriptureRef.cs b/src/SIL.Machine/Corpora/ScriptureRef.cs index 6e9dd7195..c92121a81 100644 --- a/src/SIL.Machine/Corpora/ScriptureRef.cs +++ b/src/SIL.Machine/Corpora/ScriptureRef.cs @@ -45,16 +45,7 @@ public static ScriptureRef Parse(string str, ScrVers versification = null) public static bool TryParse(string str, out ScriptureRef scriptureRef) { - try - { - scriptureRef = Parse(str); - return true; - } - catch (VerseRefException) - { - scriptureRef = Empty; - return false; - } + return TryParse(str, null, out scriptureRef); } public static bool TryParse(string str, ScrVers versification, out ScriptureRef scriptureRef)