]> git.donarmstrong.com Git - debian-ctte.git/commitdiff
support votes without a default option
authorDon Armstrong <don@donarmstrong.com>
Tue, 10 Mar 2015 20:22:33 +0000 (13:22 -0700)
committerDon Armstrong <don@donarmstrong.com>
Tue, 10 Mar 2015 20:22:33 +0000 (13:22 -0700)
scripts/pocket-devotee

index 6046aa99a44fc0420ee0b95303e2afb90a87b636..d176de8257f8dbeeca5e525e98c7b7fd3c8cb131 100755 (executable)
@@ -98,6 +98,7 @@ sub main {
     my %options;
     GetOptions(\%options,
                'option=s@',
+               'default_option|default-option!',
               );
     if (not exists $options{option} or not ref($options{option}) or
         @{$options{option}} < 2
@@ -113,7 +114,9 @@ sub main {
                        majority => $majority,
                       };
     }
-    winner(options=>\@options);
+    winner(options=>\@options,
+           default_option => exists $options{default_option} ? $options{default_option} : 1,
+          );
 }
 
 sub encode_base64{
@@ -134,6 +137,9 @@ sub winner {
                                           tally_fh => {type => HANDLE,
                                                        optional => 1,
                                                       },
+                                          default_option => {default => 1,
+                                                             type => BOOLEAN,
+                                                            },
                                          },
                                );
   # options is an array to keep it ordered
@@ -293,18 +299,20 @@ EOM
   
   my %Drop = ();
 
-  foreach my $i (0..($max_choices - 2)) {
-      if ($K > $Beat_Matrix[$i][$max_choices - 1]) {
-          $Drop{$i}++;
-          print {$RESULTS} "Dropping Option", $order_to_options{$i + 1}{key}, 
-              " \"", $order_to_options{$i + 1}{name},
-              "\" because of Quorum\n";
-      } else {
-          print {$RESULTS} "Option ", $order_to_options{$i + 1}{key},
-              " Reached quorum: $Beat_Matrix[$i][$max_choices - 1] > $K\n";
+  if ($params{default_option}) {
+      foreach my $i (0..($max_choices - 2)) {
+          if ($K > $Beat_Matrix[$i][$max_choices - 1]) {
+              $Drop{$i}++;
+              print {$RESULTS} "Dropping Option", $order_to_options{$i + 1}{key}, 
+                  " \"", $order_to_options{$i + 1}{name},
+                  "\" because of Quorum\n";
+          } else {
+              print {$RESULTS} "Option ", $order_to_options{$i + 1}{key},
+                  " Reached quorum: $Beat_Matrix[$i][$max_choices - 1] > $K\n";
+          }
       }
+      print {$RESULTS} "\n\n";
   }
-  print {$RESULTS} "\n\n";
 
   # Record Majority
   my %Ratio = ();