use anyhow::Result; use clap::Parser; use crate::lang::Language; pub mod cli; pub mod constants; pub mod data_store; pub mod directories; pub mod editions; pub mod lang; pub mod logging; pub mod malie; #[tokio::main] async fn main() -> Result<()> { let args = cli::Args::parse(); let log_mode = if args.command == cli::Command::Tui { logging::LogMode::File } else { logging::LogMode::Print }; logging::initialize_logging(log_mode).await?; match args.command { cli::Command::DownloadData { lang } => download_data(lang).await?, cli::Command::Tui => todo!(), } Ok(()) } async fn download_data(lang: Language) -> Result<()> { let client = malie::client::Client::new().await?; client.download_all_data(lang).await?; Ok(()) }