use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Debug, Parser)]
#[command(name = "info-spider", version, about, long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Debug, Subcommand)]
pub enum Commands {
Login,
Logout,
Status,
Search {
query: String,
#[arg(short = 'n', long, default_value_t = 5)]
count: u32,
#[arg(long, default_value = "table")]
format: String,
},
Articles {
#[arg(long, value_name = "NAME", conflicts_with = "fakeid")]
name: Option<String>,
#[arg(long, value_name = "FAKEID")]
fakeid: Option<String>,
#[arg(long, default_value_t = 0)]
begin: u32,
#[arg(long, default_value_t = 5)]
count: u32,
#[arg(short, long)]
limit: Option<u32>,
#[arg(long, default_value_t = 1500)]
delay_ms: u64,
#[arg(long, default_value = "table")]
format: String,
},
Scrape {
url: String,
#[arg(short, long)]
output: Option<PathBuf>,
},
}