]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blobdiff - src/add-other-spellings
fix numbering of variants to be 1 and 2 (closes: #867586)
[deb_pkgs/scowl.git] / src / add-other-spellings
index 5bdc04259d1e17324461da1ea778637ada9a207b..4736ea9fd571286802bbdf03215dc52fd0743b16 100755 (executable)
@@ -1,5 +1,7 @@
 #!/usr/bin/perl
 
+my $table = $ARGV[0] eq 'table' ? '1' : '0';
+
 while(<STDIN>) {
     chop;
     $words{$_} = '';
@@ -8,24 +10,33 @@ while(<STDIN>) {
 
 sub valid_entry ( $ ){local $_ = $_[0]; /^[A-Za-z\']+$/ && exists $words{$_}}
 
-foreach my $f (qw(working/variant_0.lst working/variant_1.lst 
-                 working/variant_2.lst r/varcon/abbc.tab))
+foreach my $f (qw(working/variant_1.lst working/variant_2.lst 
+                  working/variant_3.lst
+                  working/british_variant_1.lst working/british_variant_2.lst
+                  working/canadian_variant_1.lst working/canadian_variant_2.lst
+                  working/australian_variant_1.lst working/australian_variant_2.lst
+                  working/american.lst
+                  working/british.lst working/british_z.lst
+                  working/canadian.lst working/australian.lst))
 {
-  open F, $f or die "Unable to open $f\n";
-  while (<F>) {
-    my (@words) = split /[\t\n]+/;
-    $know_about{$_} = 1 foreach @words;
-  }
+    open F, $f or die "Unable to open $f\n";
+    while (<F>) {
+        chop;
+        $know_about{$_} = 1;
+    }
 }
 
-open F, "r/varcon/voc.tab" or die;
-while (<F>) {
-    s/\(.+\)\n/\n/;
-    my ($word) = grep {valid_entry $_} (split /[,\t\n]/);
-    next unless defined $word;
-    y/,\t -/\n/;
-    $words{$word} .= $_;
+if (not $table) {
+    open F, "r/varcon/voc.tab" or die;
+    
+    while (<F>) {
+        s/\(.+\)\n/\n/;
+        my ($word) = grep {valid_entry $_} (split /[,\t\n]/);
+        next unless defined $word;
+        y/,\t -/\n/;
+        s/(^|\n)\n/\n/g;
+        $words{$word} .= $_;
+    }
 }
 
 open F, "r/varcon/variant.tab" or die;
@@ -47,6 +58,20 @@ while (<F>) {
     $words{$w[0]} .= "$_\n" foreach @w;
 }
 
-while (($key, $value) = each %words) {
-    print "$key\n$value";
+if ($table) {
+
+    while (($key, $value) = each %words) {
+        next if $value eq '';
+        my $row = "$key\n$value";
+        chomp $row;
+        $row =~ tr/\n/\t/;
+        print "$row\n";
+    }
+
+} else {
+
+    while (($key, $value) = each %words) {
+        print "$key\n$value";
+    }
+
 }