use std::process::ExitCode;
use clap::Parser;
use rs_zip2sqlite::ZipToSqliteErr;
use rs_zip2sqlite::stdin2bytes2zip2sqlite2file;
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
struct Args {
#[arg(short, long)]
outname: String,
#[arg(short, long, default_value_t = 1048576)]
limit: u64,
}
fn sub() -> Result<(), ZipToSqliteErr> {
let args = Args::parse();
stdin2bytes2zip2sqlite2file(args.limit, args.outname)?;
Ok(())
}
fn main() -> ExitCode {
sub().map(|_| ExitCode::SUCCESS).unwrap_or_else(|e| {
eprintln!("{e:#?}");
ExitCode::FAILURE
})
}