[sword-devel] Getting info about books, chapters, and verses in a module
Tobias Klein
contact at tklein.info
Sat Nov 28 14:59:29 EST 2020
Hi Troy,
Thanks once more for highlighting the code smells as you did! :)
In node-sword-interface, I have now implemented two new helper methods
getBookChapterCount
<https://github.com/ezra-project/node-sword-interface/blob/ba3a0347fbe9a19cec5bd3daac080c5325dc7393/src/sword_backend/module_helper.cpp#L92>
and getChapterVerseCount.
<https://github.com/ezra-project/node-sword-interface/blob/ba3a0347fbe9a19cec5bd3daac080c5325dc7393/src/sword_backend/module_helper.cpp#L113>
These methods use the getChapterMax() and getVerseMax() functions from
SWORD.
Based on my new helper methods, I then refactored my code in the
frontend a bit and saw a decent performance improvement after that
(saving 800ms on startup time when directly loading a book).
Best regards,
Tobias
On 11/18/20 7:53 AM, Tobias Klein wrote:
>> I am note sure I condone this behavior here :) If you found a need
>> to do something like this because you couldn't easily use the
>> suggestions below, please let me know and maybe we can fix something
>> or extend functionality to meet your needs.
>>
>> If you ever want to know how many Books, Chapters, Verses, etc. are
>> available in a reference system, these should serve that purpose:
>>
>> VerseKey::getTestamentMax()
>>
>> VerseKey::getBookMax(), once you set the testament
>>
>> VerseKey::getChapterMax(), once you set the book
>>
>> VerseKey::getVerseMax(), once you set the chapter
>>
> At the time when I wrote that function I didn't realize that I could
> use VerseKey to determine max values of chapters/chapter-verses per book.
> Thanks! I may actually refactor my code now based on your hint.
>
> To give you some context how I use this function ... in Ezra Project,
> this is currently used in three places.
> 1) NavigationPane => Getting the number of chapters for a book
> 2) I have a "verse range formatter", that needs the verse count per
> chapter to work correctly.
> 3) In my TagStatistics function I calculate percentages relative to
> the total number of verses in a book.
>
> Best regards,
> Tobias
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20201128/3bc3fe92/attachment.html>
More information about the sword-devel
mailing list