feat(conf): Find how long a dataset name will be (#1)
This commit is contained in:
parent
8e8be69f12
commit
f5bb694768
@ -106,6 +106,36 @@ function write_pkg_list_oneline () {
|
||||
fi
|
||||
}
|
||||
|
||||
function find_max_dataset_name_length () {
|
||||
local longest_op_suffix op_suffix_string
|
||||
longest_op_suffix='0'
|
||||
for op_suffix in "${snap_op_installation_suffix}" "${snap_op_remove_suffix}" "${snap_op_upgrade_suffix}"; do
|
||||
if [[ "${#op_suffix}" -gt "${longest_op_suffix}" ]]; then
|
||||
longest_op_suffix="${#op_suffix}"
|
||||
fi
|
||||
done
|
||||
op_suffix_string="$(head -c "${longest_op_suffix}" '/dev/zero' | tr '\0' '_')"
|
||||
|
||||
local longest_sev_suffix sev_suffix_string
|
||||
longest_sev_suffix='0'
|
||||
for sev_suffix in "${snaps_trivial_suffix}" "${snaps_important_suffix}"; do
|
||||
if [[ "${#sev_suffix}" -gt "${longest_sev_suffix}" ]]; then
|
||||
longest_sev_suffix="${#sev_suffix}"
|
||||
fi
|
||||
done
|
||||
sev_suffix_string="$(head -c "${longest_sev_suffix}" '/dev/zero' | tr '\0' '_')"
|
||||
|
||||
local max_dataset_name_length example_date_string dataset_name_no_pkgs
|
||||
max_dataset_name_length='0'
|
||||
example_date_string="$(date +"${snap_date_format}")"
|
||||
for dataset in "${snappable_datasets[@]}"; do
|
||||
dataset_name_no_pkgs="${dataset}"'@'"${snap_name_prefix}${snap_field_separator}${example_date_string}${snap_field_separator}"'op:'"${op_suffix_string}${snap_field_separator}"'sev:'"${sev_suffix_string}${snap_field_separator}"'pkgs:'
|
||||
if [[ "${#dataset_name_no_pkgs}" -gt "${max_dataset_name_length}" ]]; then
|
||||
max_dataset_name_length="${#dataset_name_no_pkgs}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function main () {
|
||||
local pkgs_in_transaction
|
||||
pkgs_in_transaction=("${@}")
|
||||
@ -131,6 +161,9 @@ function main () {
|
||||
local pkg_list_oneline
|
||||
write_pkg_list_oneline
|
||||
|
||||
local max_dataset_name_length
|
||||
find_max_dataset_name_length
|
||||
|
||||
#for pkg in "${!important_pkgs_in_transaction[@]}"; do
|
||||
# printf -- 'Array item '"'"'%s'"'"' equals '"'"'%s'"'"'\n' "${pkg}" "${important_pkgs_in_transaction[${pkg}]}"
|
||||
#done
|
||||
|
Loading…
x
Reference in New Issue
Block a user