dlq-cli 0.1.0

dlq cli grpc client
Documentation
use clap::{ArgGroup, Parser};
use color_eyre::eyre::Result;
use dlq_cli::Client;

#[derive(Parser, Debug)]
#[clap(author, version, about, long_about = None)]
#[clap(group(
  ArgGroup::new("target").required(true).args(&["youtube"])
))]
struct Args {
    #[clap(short, long, default_value = "http://[::]:50051")]
    server: String,

    #[clap(short, long)]
    youtube: Option<String>,
}

#[tokio::main]
async fn main() -> Result<()> {
    color_eyre::install()?;
    env_logger::init();

    let args = Args::parse();

    let client = Client::new(args.server);

    if let Some(youtube) = args.youtube {
        client.enque_youtube(youtube).await?;
    }
    Ok(())
}