aboutsummaryrefslogtreecommitdiff
path: root/src/example.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/example.rs')
-rw-r--r--src/example.rs21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/example.rs b/src/example.rs
index c52cc8f..494ab73 100644
--- a/src/example.rs
+++ b/src/example.rs
@@ -4,16 +4,17 @@ use crate::charset::Charset;
use crate::*;
impl Example {
- pub fn gen_furigana(&mut self, dict_idx: &DictIndex, overrides: &HashMap<String, String>) {
+ pub fn gen_furigana(&mut self, dict_idx: &DictIndex, overrides: &HashMap<String, String>) -> bool {
use std::fmt::Write;
if let Some(v) = overrides.get(&self.ja) {
self.furigana = Some(v.to_string());
- return;
+ return true;
}
let mut remainder = self.ja.as_str();
let mut ret = String::new();
+ let mut is_good = true;
for word in self.expl.split(|c| c == ' ' || c == '~') {
let (keb, reb) = expl_clean_word(word);
@@ -34,7 +35,8 @@ impl Example {
remainder = remainder.strip_prefix(c).unwrap();
new_word.push(c);
} else {
- eprintln!("!!!! Char {} is not in remainder !!!!", c);
+ is_good = false;
+ warn!("!!!! Char {} is not in remainder !!!!", c);
}
}
let word = &new_word;
@@ -49,11 +51,12 @@ impl Example {
let ents = dict_idx.get(keb).map(|x| &x[..]).unwrap_or_default();
if let Some(ent) = ents
.iter()
- .find(|ent| ent.ent_seq == reb.strip_prefix('#').unwrap())
+ .find(|ent| ent.ent_seq == reb.strip_prefix('#').unwrap().parse::<u64>().unwrap())
{
ent.reb.as_str()
} else {
- println!("- entry id not found: {}", reb);
+ is_good = false;
+ warn!("- entry id not found: {}", reb);
ret += &word;
continue;
}
@@ -68,7 +71,8 @@ impl Example {
if matches.len() == 1 {
*matches.iter().next().unwrap()
} else {
- println!("- word without reb: {}", word);
+ is_good = false;
+ warn!("- word with {} reb: {}", matches.len(), word);
ret += &word;
continue;
}
@@ -170,10 +174,13 @@ impl Example {
let re = regex::Regex::new(r#"\|\|\w+\]\]"#).unwrap();
let back_to_ja = re.replace_all(&ret, "").replace("[[", "");
if self.ja != back_to_ja {
- eprintln!("!!!! {} != {}", self.ja, back_to_ja);
+ is_good = false;
+ error!("!!!! {} != {}", self.ja, back_to_ja);
}
self.furigana = Some(ret);
+
+ is_good
}
pub fn furigana_markup(&self) -> String {