improve some 'error' handling
This commit is contained in:
parent
6993367c3f
commit
37ec1729b8
1 changed files with 9 additions and 9 deletions
16
src/main.rs
16
src/main.rs
|
@ -47,30 +47,28 @@ fn main() -> Result<(), ureq::Error> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_item(&query, entry);
|
if print_item(&query, entry).is_some() && i + 1 != ITEM_LIMIT {
|
||||||
println!();
|
println!();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_item(query: &str, value: &Value) {
|
fn print_item(query: &str, value: &Value) -> Option<()> {
|
||||||
let japanese = value_to_arr(value.get("japanese").unwrap())
|
let japanese = value_to_arr(value.get("japanese")?).get(0)?.to_owned();
|
||||||
.get(0)
|
|
||||||
.unwrap()
|
|
||||||
.to_owned();
|
|
||||||
|
|
||||||
let reading = japanese
|
let reading = japanese
|
||||||
.get("reading")
|
.get("reading")
|
||||||
.map(|i| value_to_str(i))
|
.map(|i| value_to_str(i))
|
||||||
.unwrap_or(query);
|
.unwrap_or(query);
|
||||||
|
|
||||||
let word = value_to_str(japanese.get("word").unwrap());
|
let word = value_to_str(japanese.get("word")?);
|
||||||
|
|
||||||
println!("{}[{}] {}", word, reading, format_result_tags(value));
|
println!("{}[{}] {}", word, reading, format_result_tags(value));
|
||||||
|
|
||||||
// Print senses
|
// Print senses
|
||||||
let senses = value.get("senses").unwrap();
|
let senses = value.get("senses")?;
|
||||||
for (i, sense) in value_to_arr(senses).iter().enumerate() {
|
for (i, sense) in value_to_arr(senses).iter().enumerate() {
|
||||||
let sense_str = format_sense(&sense, i);
|
let sense_str = format_sense(&sense, i);
|
||||||
if sense_str.is_empty() {
|
if sense_str.is_empty() {
|
||||||
|
@ -79,6 +77,8 @@ fn print_item(query: &str, value: &Value) {
|
||||||
|
|
||||||
println!(" {}", sense_str);
|
println!(" {}", sense_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn format_sense(value: &Value, index: usize) -> String {
|
fn format_sense(value: &Value, index: usize) -> String {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue