31 lines
680 B
Rust
31 lines
680 B
Rust
|
|
use std::str::FromStr;
|
||
|
|
|
||
|
|
use anyhow::{Context, Result};
|
||
|
|
use clap::Parser;
|
||
|
|
|
||
|
|
pub mod card;
|
||
|
|
pub mod cli;
|
||
|
|
pub mod downloader;
|
||
|
|
pub mod editions;
|
||
|
|
pub mod lang;
|
||
|
|
|
||
|
|
#[tokio::main]
|
||
|
|
async fn main() -> Result<()> {
|
||
|
|
let args = cli::Args::parse();
|
||
|
|
let client = reqwest::Client::new();
|
||
|
|
let edition =
|
||
|
|
editions::EditionCode::from_str(&args.code).context("Couldn't parse edition code")?;
|
||
|
|
let number = args.number;
|
||
|
|
let slug = args.slug.as_deref();
|
||
|
|
let card_info = downloader::card_info::download_card_info(
|
||
|
|
client.clone(),
|
||
|
|
lang::Language::Es,
|
||
|
|
edition,
|
||
|
|
number,
|
||
|
|
slug,
|
||
|
|
)
|
||
|
|
.await?;
|
||
|
|
println!("{card_info:?}");
|
||
|
|
Ok(())
|
||
|
|
}
|