add sense tag printing
This commit is contained in:
parent
1c07f21810
commit
6993367c3f
1 changed files with 30 additions and 4 deletions
34
src/main.rs
34
src/main.rs
|
@ -67,7 +67,7 @@ fn print_item(query: &str, value: &Value) {
|
||||||
|
|
||||||
let word = value_to_str(japanese.get("word").unwrap());
|
let word = value_to_str(japanese.get("word").unwrap());
|
||||||
|
|
||||||
println!("{}[{}] {}", word, reading, format_tags(value));
|
println!("{}[{}] {}", word, reading, format_result_tags(value));
|
||||||
|
|
||||||
// Print senses
|
// Print senses
|
||||||
let senses = value.get("senses").unwrap();
|
let senses = value.get("senses").unwrap();
|
||||||
|
@ -88,15 +88,18 @@ fn format_sense(value: &Value, index: usize) -> String {
|
||||||
}
|
}
|
||||||
|
|
||||||
let english_definiton = value_to_arr(english_definitons.unwrap());
|
let english_definiton = value_to_arr(english_definitons.unwrap());
|
||||||
|
let tags = format_sense_tags(value);
|
||||||
|
|
||||||
format!(
|
format!(
|
||||||
"{}. {}",
|
"{}. {} {}",
|
||||||
index,
|
index,
|
||||||
value_to_str(english_definiton.get(0).unwrap())
|
value_to_str(english_definiton.get(0).unwrap()),
|
||||||
|
tags
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn format_tags(value: &Value) -> String {
|
/// Format tags from a whole meaning
|
||||||
|
fn format_result_tags(value: &Value) -> String {
|
||||||
let mut builder = String::new();
|
let mut builder = String::new();
|
||||||
|
|
||||||
let is_common_val = value.get("is_common");
|
let is_common_val = value.get("is_common");
|
||||||
|
@ -117,6 +120,29 @@ fn format_tags(value: &Value) -> String {
|
||||||
builder
|
builder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Format tags from a single sense entry
|
||||||
|
fn format_sense_tags(value: &Value) -> String {
|
||||||
|
let mut builder = String::new();
|
||||||
|
|
||||||
|
if let Some(tags) = value.get("tags") {
|
||||||
|
let tags = value_to_arr(tags);
|
||||||
|
|
||||||
|
for tag in tags {
|
||||||
|
let t = format_sense_tag(value_to_str(tag));
|
||||||
|
builder.push_str(t.as_str())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
builder
|
||||||
|
}
|
||||||
|
|
||||||
|
fn format_sense_tag(tag: &str) -> String {
|
||||||
|
match tag {
|
||||||
|
"Usually written using kana alone" => "(UK)".to_string(),
|
||||||
|
s => format!("({})", s),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// --- Value helper
|
// --- Value helper
|
||||||
//
|
//
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue