diff options
Diffstat (limited to 'autofeur_db/src/inference.rs')
| -rw-r--r-- | autofeur_db/src/inference.rs | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/autofeur_db/src/inference.rs b/autofeur_db/src/inference.rs index f681cd0..f54d15e 100644 --- a/autofeur_db/src/inference.rs +++ b/autofeur_db/src/inference.rs @@ -1,4 +1,7 @@ -use std::{env, ops::Add}; +use std::{ +    env::{self, VarError}, +    ops::Add, +};  use anyhow::anyhow;  use hypher::hyphenate; @@ -7,14 +10,13 @@ use itertools::Itertools;  use crate::save::Save;  async fn call_inference_service(word: &str) -> anyhow::Result<String> { -    let server: Result<String, anyhow::Error> = -        env::var("PHONEMIZER").or_else(|_| Ok("http://localhost:8000/".to_string())); -    Ok( -        reqwest::get(format!("{}?grapheme={}", server.unwrap(), word)) -            .await? -            .text() -            .await?, -    ) +    let server: String = env::var("PHONEMIZER") +        .or_else(|_| Ok::<String, VarError>("http://localhost:8000/".to_string())) +        .unwrap(); + +    let url = reqwest::Url::parse_with_params(&server, &[("grapheme", word)])?; + +    Ok(reqwest::get(url).await?.text().await?)  }  impl Save<'_> { @@ -77,7 +79,7 @@ impl Save<'_> {          }          // we finally just need to compute the end of the word which matches the sound -        let found = completed_syllabes.drain(i+1..).join(""); +        let found = completed_syllabes.drain(i + 1..).join("");          println!("{} is equivalent to {}", completion, found);          Ok(format!("{} ({})", found, word))  | 
