Update dependencies

This commit is contained in:
Rémi BERTHO 2020-07-21 18:52:52 +02:00
parent 13e04e4bdd
commit cf6106155a
Signed by: dalan
GPG key ID: EE3B917931C07B64
4 changed files with 145 additions and 104 deletions

View file

@ -8,14 +8,14 @@ pub mod price_checker;
pub mod price_result;
use anyhow::Result;
use clap::{App, Arg, SubCommand};
use clap::{crate_version, App, Arg, SubCommand};
use price_checker::PriceChecker;
use price_result::PriceResult;
use url::Url;
fn main() -> Result<()> {
let matches = App::new("Price checker")
.version("0.1")
.version(crate_version!())
.author("Rémi BERTHO <remi.bertho@dalan.fr>")
.about("Check price")
.subcommand(

View file

@ -39,13 +39,14 @@ impl PriceParser for Amazon {
// Get price
let price_element = html.select(&self.price_selector).next().ok_or(anyhow!("No price element"))?;
let mut price_text_it = price_element.text();
let price : f64 = price_text_it
let price: f64 = price_text_it
.next()
.unwrap_or("0.")
.trim()
.trim_end_matches("")
.trim()
.replace(',', ".").parse()?;
.replace(',', ".")
.parse()?;
// Get name
let name_element = html.select(&self.name_selector).next().ok_or(anyhow!("No name element"))?;

View file

@ -67,7 +67,11 @@ impl SearchParser for Fnac {
}
fn search(&self, html: &Html) -> Result<Option<Url>> {
if let Some(search_element) = html.select(&self.search_selector).next() {
let path_url = search_element.value().attr("href").ok_or(anyhow!("No link element"))?.trim_end_matches("#omnsearchpos=1");
let path_url = search_element
.value()
.attr("href")
.ok_or(anyhow!("No link element"))?
.trim_end_matches("#omnsearchpos=1");
Ok(Option::Some(Url::parse(path_url)?))
} else {
Ok(None)