format: run cargo fmt
All checks were successful
CI / build (push) Successful in 1m44s

This commit is contained in:
2025-11-30 12:51:52 +01:00
parent c813823a1a
commit 2cfbb69fe7
5 changed files with 491 additions and 232 deletions

View File

@@ -2,7 +2,7 @@ use std::env;
use std::io::Write;
extern crate clap;
use clap::{arg, command, Command};
use clap::{Command, arg, command};
extern crate flate2;
@@ -12,8 +12,8 @@ use get::get;
mod changelog;
use changelog::generate_entry;
use log::{info, error};
use indicatif_log_bridge::LogWrapper;
use log::{error, info};
mod ui;
@@ -22,60 +22,63 @@ fn main() {
let logger =
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
.format_timestamp(None)
.format(|buf, record| {
writeln!(buf, "{}", record.args())
})
.format(|buf, record| writeln!(buf, "{}", record.args()))
.build();
let multi = indicatif::MultiProgress::new();
LogWrapper::new(multi.clone(), logger)
.try_init()
.unwrap();
let matches = command!()
LogWrapper::new(multi.clone(), logger).try_init().unwrap();
let matches = command!()
.subcommand_required(true)
.disable_version_flag(true)
.subcommand(
Command::new("get")
.about("Get a source package from the archive or git")
.arg(
arg!(-s --series <series> "Target package distribution series")
.required(false)
arg!(-s --series <series> "Target package distribution series").required(false),
)
.arg(
arg!(-d --dist <dist> "Target package distribution (debian, ubuntu)")
.required(false)
.required(false),
)
.arg(
arg!(-v --version <version> "Target package version")
.required(false)
)
.arg(
arg!(--ppa <ppa> "Download the package from a specific PPA")
.required(false)
)
.arg(arg!(<package> "Target package"))
.arg(arg!(-v --version <version> "Target package version").required(false))
.arg(arg!(--ppa <ppa> "Download the package from a specific PPA").required(false))
.arg(arg!(<package> "Target package")),
)
.subcommand(
Command::new("chlog")
.about("Auto-generate changelog entry, editing it, committing it afterwards")
.arg(arg!(-s --series <series> "Target distribution series").required(false))
.arg(arg!(--backport "This changelog is for a backport entry").required(false))
.arg(arg!(-v --version <version> "Target version").required(false))
.arg(arg!(-v --version <version> "Target version").required(false)),
)
.get_matches();
match matches.subcommand() {
Some(("get", sub_matches)) => {
let package = sub_matches.get_one::<String>("package").expect("required");
let series = sub_matches.get_one::<String>("series").map(|s| s.as_str());
let dist = sub_matches.get_one::<String>("dist").map(|s| s.as_str());
let version = sub_matches.get_one::<String>("version").map(|s| s.as_str()).unwrap_or("");
let ppa = sub_matches.get_one::<String>("ppa").map(|s| s.as_str()).unwrap_or("");
let version = sub_matches
.get_one::<String>("version")
.map(|s| s.as_str())
.unwrap_or("");
let ppa = sub_matches
.get_one::<String>("ppa")
.map(|s| s.as_str())
.unwrap_or("");
// Since get is async, we need to block on it
let (pb, mut progress_callback) = ui::create_progress_bar(&multi);
if let Err(e) = rt.block_on(get(package, version, series, "", ppa, dist, None, Some(&mut progress_callback))) {
if let Err(e) = rt.block_on(get(
package,
version,
series,
"",
ppa,
dist,
None,
Some(&mut progress_callback),
)) {
pb.finish_and_clear();
error!("{}", e);
std::process::exit(1);
@@ -83,7 +86,7 @@ fn main() {
pb.finish_and_clear();
multi.remove(&pb);
info!("Done.");
},
}
Some(("chlog", sub_matches)) => {
let cwd = std::env::current_dir().unwrap();
let version = sub_matches.get_one::<String>("version").map(|s| s.as_str());
@@ -98,7 +101,7 @@ fn main() {
.current_dir(&cwd)
.args(&["debian/changelog"])
.status();
},
}
_ => unreachable!("Exhausted list of subcommands and subcommand_required prevents `None`"),
}
}
}