use std::path::PathBuf;
use arglet::arg::CliCommand;
pub mod model;
pub mod cli;
pub mod yolo;
use crate::model::merge_mode::MergeMode;
use crate::cli::merge::yolo_merge;
fn main() {
let cmd = CliCommand::from(std::env::args().collect::<Vec<String>>());
let sub_command = cmd.subcommand().expect("找不到合适的子命令");
match sub_command.as_str() {
"merge"=>{
let src_folder = PathBuf::from(cmd.positional.get(1).expect("找不到<输入源数据集文件夹路径>"));
let master_dataset = PathBuf::from(cmd.positional.get(2).expect("未指定<主数据集文件夹路径>"));
let mode = match cmd.long.get("move"){
Some(_)=>{MergeMode::Move}
None=>{MergeMode::Copy}
};
yolo_merge(&src_folder, &master_dataset, mode).expect("Damn bro,大失败!!");
}
"help"=>{println!("暂时只有一个子命令 merge:\r\n\tmerge <src_folder> <master_dataset> [--move]")}
_=>{ println!("未知的子命令,程序结束"); return; }
}
}