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
|
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 () {
|
function main () {
|
||||||
local pkgs_in_transaction
|
local pkgs_in_transaction
|
||||||
pkgs_in_transaction=("${@}")
|
pkgs_in_transaction=("${@}")
|
||||||
@ -131,6 +161,9 @@ function main () {
|
|||||||
local pkg_list_oneline
|
local pkg_list_oneline
|
||||||
write_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
|
#for pkg in "${!important_pkgs_in_transaction[@]}"; do
|
||||||
# printf -- 'Array item '"'"'%s'"'"' equals '"'"'%s'"'"'\n' "${pkg}" "${important_pkgs_in_transaction[${pkg}]}"
|
# printf -- 'Array item '"'"'%s'"'"' equals '"'"'%s'"'"'\n' "${pkg}" "${important_pkgs_in_transaction[${pkg}]}"
|
||||||
#done
|
#done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user