msg_tool\utils/
name_replacement.rs1use crate::types::*;
3use anyhow::Result;
4use std::collections::HashMap;
5
6pub fn read_csv(path: &str) -> Result<HashMap<String, String>> {
8 let mut reader = csv::ReaderBuilder::new()
9 .has_headers(true)
10 .from_path(path)?;
11 let mut map = HashMap::new();
12 for result in reader.deserialize() {
13 let record: NameTableCell = result?;
14 if record.jp_name.is_empty() || record.cn_name.is_empty() {
15 continue;
16 }
17 map.insert(record.jp_name, record.cn_name);
18 }
19 Ok(map)
20}
21
22pub fn replace_message(mes: &mut Vec<Message>, name_table: &HashMap<String, String>) {
24 for message in mes.iter_mut() {
25 if let Some(name) = &message.name {
26 if let Some(replace_name) = name_table.get(name) {
27 message.name = Some(replace_name.clone());
28 }
29 }
30 }
31}