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";
 }