feat(console): tabled outputs now optionally return without decorations
All checks were successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/docker Pipeline was successful
ci/woodpecker/pr/man Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful

This commit is contained in:
Jef Roosens 2022-09-11 21:50:29 +02:00
parent cf67b46df0
commit 8a08788935
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
4 changed files with 34 additions and 10 deletions

View file

@ -133,7 +133,9 @@ pub fn cmd() cli.Command {
]
}
list(conf, filter)?
raw := cmd.flags.get_bool('raw')?
list(conf, filter, raw)?
}
},
cli.Command{
@ -167,27 +169,31 @@ pub fn cmd() cli.Command {
}
// print_log_list prints a list of logs.
fn print_log_list(logs []BuildLog) ? {
fn print_log_list(logs []BuildLog, raw bool) ? {
data := logs.map([it.id.str(), it.target_id.str(), it.start_time.local().str(),
it.exit_code.str()])
println(console.pretty_table(['id', 'target', 'start time', 'exit code'], data)?)
if raw {
println(console.tabbed_table(data))
} else {
println(console.pretty_table(['id', 'target', 'start time', 'exit code'], data)?)
}
}
// list prints a list of all build logs.
fn list(conf Config, filter BuildLogFilter) ? {
fn list(conf Config, filter BuildLogFilter, raw bool) ? {
c := client.new(conf.address, conf.api_key)
logs := c.get_build_logs(filter)?.data
print_log_list(logs)?
print_log_list(logs, raw)?
}
// list prints a list of all build logs for a given target.
fn list_for_target(conf Config, target_id int) ? {
fn list_for_target(conf Config, target_id int, raw bool) ? {
c := client.new(conf.address, conf.api_key)
logs := c.get_build_logs_for_target(target_id)?.data
print_log_list(logs)?
print_log_list(logs, raw)?
}
// info print the detailed info for a given build log.