# HG changeset patch # User Matti Hamalainen # Date 1530099627 -10800 # Node ID 6f4baa8abf82c9c6d466a205c185a586f25bcb97 # Parent 286762fb5dedd30a49ecea804bbfca775d5f2865 Make this script a bit better. Also fix the ASCII table width for tasks that have a longer name than we anticipated. diff -r 286762fb5ded -r 6f4baa8abf82 nun/tasks/findreqs.pl --- 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"; }