Mercurial > hg > batmud > misc
changeset 355:6f4baa8abf82 misc
Make this script a bit better. Also fix the ASCII table width for tasks that
have a longer name than we anticipated.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 27 Jun 2018 14:40:27 +0300 |
parents | 286762fb5ded |
children | 102ac4f0bd22 |
files | nun/tasks/findreqs.pl |
diffstat | 1 files changed, 17 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/nun/tasks/findreqs.pl Wed Jun 27 14:10:48 2018 +0300 +++ b/nun/tasks/findreqs.pl Wed Jun 27 14:40:27 2018 +0300 @@ -58,7 +58,7 @@ sub print_separator() { - print "|--------------------------------------------------------------------|\n"; + print "|------------------------------------------------------------------------|\n"; } @@ -88,43 +88,44 @@ else { my $sepLine = 0; - print ",--------------------------------------------------------------------.\n"; - print "| Task name | Skill/spell | Min |\n"; - print "+----------------------------------+---------------------------+-----+\n"; + print ",------------------------------------------------------------------------.\n"; + print "| Task name | Skill/spell | Min |\n"; + print "+--------------------------------------+---------------------------+-----+\n"; for my $taskName (sort keys %taskList) { - my $i = keys(%{$taskList{$taskName}}); + my $nreqs = scalar keys(%{$taskList{$taskName}}); - if ($i == 0) + if ($nreqs == 0) { - print_separator() if (!$sepLine); - printf "| %-32s |\n", $taskName; + # No requirement data for task + print_separator() if ($sepLine); + printf "| %-36s | %-31s |\n", $taskName, "UNKNOWN or no requirements"; print_separator(); $sepLine = 1; } - elsif ($i == 1) + elsif ($nreqs == 1) { for my $skillName (sort keys %{$taskList{$taskName}}) { - printf "| %-32s | %-25s | %3d |\n", $taskName, $skillName, $taskList{$taskName}{$skillName}; + printf "| %-36s | %-25s | %3d |\n", $taskName, $skillName, $taskList{$taskName}{$skillName}; } - $sepLine = 0; + $sepLine = 1; } else { - print_separator() if (!$sepLine); - printf "| %-66s |\n", $taskName; + print_separator() if ($sepLine); + printf "| %-70s |\n", $taskName; for my $skillName (sort keys %{$taskList{$taskName}}) { - printf "| %-32s | %-25s | %3d |\n", "", $skillName, $taskList{$taskName}{$skillName}; + printf "| %-36s | %-25s | %3d |\n", "", $skillName, $taskList{$taskName}{$skillName}; } print_separator(); - $sepLine = 1; + $sepLine = 0; } $n++; } - print "|-----------------+----------------+---------------------------+-----'\n"; + print "|-----------------+--------------------+---------------------------+-----'\n"; printf "| %3d tasks total |\n", $n; print "`-----------------'\n"; }