aboutsummaryrefslogtreecommitdiff
path: root/src/datafiles.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/datafiles.rs')
-rw-r--r--src/datafiles.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/datafiles.rs b/src/datafiles.rs
index 0e526ef..3065fbf 100644
--- a/src/datafiles.rs
+++ b/src/datafiles.rs
@@ -176,6 +176,26 @@ pub fn read_examples(all_kanji: &Charset) -> Result<Vec<Example>> {
Ok(ret)
}
+pub fn read_furigana_overrides() -> Result<HashMap<String, String>> {
+ let file = fs::File::open("data/furigana_overrides")?;
+
+ let mut ret = HashMap::new();
+ let re = regex::Regex::new(r#"\|\|\w+\]\]"#)?;
+
+ for line in io::BufReader::new(file).lines() {
+ let line = line?;
+ let line = line.trim();
+ if !line.is_empty() {
+ let clean = re.replace_all(line, "").replace("[[", "");
+ if clean != line {
+ ret.insert(clean, line.to_string());
+ }
+ }
+ }
+
+ Ok(ret)
+}
+
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct JlptVocab {
pub level: String,