Update dependencies
This commit is contained in:
parent
13e04e4bdd
commit
cf6106155a
4 changed files with 145 additions and 104 deletions
|
@ -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(
|
||||
|
|
|
@ -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"))?;
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue