use clap::Parser;
use plot::lib::schema::CargoCliRoot;
use plot::lib::{mapping::route_and_execute, pipelines::{
engine_step1_scanner,
engine_step2_data_formater,
engine_step6_data_save,
engine_step7_data_view
}};
fn main() {
let mut args: Vec<String> = std::env::args().collect();
if args.len() > 1 && args[1] != "plot" {
args.insert(1, "plot".to_string());
}
if args.len() == 1 || (args.len() == 2 && args[1] == "plot") {
if args.len() == 1 {
args.push("plot".to_string());
}
args.push("-h".to_string());
}
let CargoCliRoot::Plot(cli) = CargoCliRoot::parse_from(args);
route_and_execute(cli, |ready_job| {
let step1 = engine_step1_scanner(ready_job);
let step2 = engine_step2_data_formater(ready_job, &step1);
let _ = engine_step6_data_save(ready_job, &step2).unwrap();
let _ = engine_step7_data_view(ready_job, &step2).unwrap();
let modes = ready_job.run_modes();
if !modes.contains(&plot::lib::schema::SharedJobRunMode::PrintNothing)
&& !modes.contains(&plot::lib::schema::SharedJobRunMode::PrintOnlyWarning)
{
println!("\n=== KONIEC ===\n");
}
true
});
}