Went with a basic wrapper that cxx is able to handle for the bridge between the languages, along with simple wrapper methods
52 lines
1.6 KiB
Rust
52 lines
1.6 KiB
Rust
use rand::Rng;
|
|
use sword_rs::mgr::{Format, Mgr};
|
|
|
|
fn main() {
|
|
one_chapter();
|
|
// iterate();
|
|
}
|
|
|
|
fn one_chapter() {
|
|
let mut mgr = Mgr::new_with_format(Format::HTMLHref);
|
|
let mut module = mgr.get_module(&String::from("KJV"));
|
|
let mut key = module
|
|
.get_verse_key()
|
|
.expect("This was not a verse based module?!");
|
|
key.set_book_name(&String::from("John"));
|
|
key.set_chapter(3);
|
|
for verse in 1..=key.get_verse_max() {
|
|
key.set_verse(verse);
|
|
println!("{}: {}", key.get_short_text(), module.render_text());
|
|
}
|
|
}
|
|
|
|
fn iterate() {
|
|
let mut mgr = Mgr::new_with_format(Format::HTMLHref);
|
|
for mod_name in mgr.get_modules() {
|
|
let mut module = mgr.get_module(&mod_name);
|
|
// module.get_type();
|
|
println!(
|
|
"Module: {} which is a {}",
|
|
module.get_name(),
|
|
module.get_type().get_name()
|
|
);
|
|
if module.get_type() == sword_rs::module::Type::BiblicalTexts {
|
|
let random_number: i32 = rand::rng().random_range(1..=20);
|
|
let random_number_str = format!("John.3.{}", random_number);
|
|
module.set_key_text(&random_number_str);
|
|
module.set_skip_consecutive_links(true);
|
|
for i in 0..10 {
|
|
println!(
|
|
"Text John 3:{} is \"{}\"",
|
|
random_number + i,
|
|
module.render_text()
|
|
);
|
|
module.increment();
|
|
}
|
|
} else {
|
|
println!("This is not a Bible");
|
|
}
|
|
println!("==============================");
|
|
}
|
|
}
|