cli: scrap url individual

This commit is contained in:
Cat /dev/Nulo 2024-01-25 16:47:51 -03:00
parent 94510825c1
commit 856dfcb1a4

View file

@ -38,6 +38,7 @@ enum Args {
FetchList(FetchListArgs), FetchList(FetchListArgs),
ParseFile(ParseFileArgs), ParseFile(ParseFileArgs),
GetUrlList(GetUrlListArgs), GetUrlList(GetUrlListArgs),
ScrapUrl(ScrapUrlArgs),
Auto(AutoArgs), Auto(AutoArgs),
Cron(AutoArgs), Cron(AutoArgs),
} }
@ -55,6 +56,10 @@ struct GetUrlListArgs {
supermercado: Supermercado, supermercado: Supermercado,
} }
#[derive(clap::Args)] #[derive(clap::Args)]
struct ScrapUrlArgs {
url: String,
}
#[derive(clap::Args)]
struct AutoArgs {} struct AutoArgs {}
#[tokio::main] #[tokio::main]
@ -65,11 +70,20 @@ async fn main() -> anyhow::Result<()> {
Args::FetchList(a) => fetch_list_cli(a.list_path).await, Args::FetchList(a) => fetch_list_cli(a.list_path).await,
Args::ParseFile(a) => parse_file_cli(a.file_path).await, Args::ParseFile(a) => parse_file_cli(a.file_path).await,
Args::GetUrlList(a) => get_url_list_cli(a.supermercado).await, Args::GetUrlList(a) => get_url_list_cli(a.supermercado).await,
Args::ScrapUrl(a) => scrap_url_cli(a.url).await,
Args::Auto(_) => auto_cli().await, Args::Auto(_) => auto_cli().await,
Args::Cron(_) => cron_cli().await, Args::Cron(_) => cron_cli().await,
} }
} }
async fn scrap_url_cli(url: String) -> anyhow::Result<()> {
let client = build_client();
let res = fetch_and_parse(&client, url.clone()).await;
println!("Result: {:#?}", res);
res.map(|_| ())
}
async fn fetch_list_cli(links_list_path: String) -> anyhow::Result<()> { async fn fetch_list_cli(links_list_path: String) -> anyhow::Result<()> {
let links_str = fs::read_to_string(links_list_path).unwrap(); let links_str = fs::read_to_string(links_list_path).unwrap();
let links = links_str let links = links_str