Allow synonyms for localhost
[spider.git] / perl / create_prefix.pl
index 60d7d2a1f462861d60868da871dacf37b6bdaaec..72df12c1418fc821ca793f7b9c7fac1583f529e7 100755 (executable)
@@ -6,7 +6,7 @@
 #
 #
 
-require 5.004;
+use 5.10.1;
 
 # search local then perl directories
 BEGIN {
@@ -18,6 +18,7 @@ BEGIN {
 
        unshift @INC, "$root/perl";     # this IS the right way round!
        unshift @INC, "$root/local";
+       $data = "$root/data";
 }
 
 use DXVars;
@@ -25,6 +26,7 @@ use SysVar;
 
 use Data::Dumper;
 use DXUtil;
+use DXBearing;
 
 use strict;
 
@@ -35,17 +37,21 @@ my %pre = ();                                               # the prefix hash
 my %pren = ();                                         # the inverse
 
 my $prefix;
+my $system;
 
-if (@ARGV && $ARGV[0] =~ /^--system$/) {
+if (@ARGV && $ARGV[0] =~ /^-?-?syst?e?m?$/) {
        $prefix = $main::data;
+       ++$system;
        shift;
+       say "create_prefix.pl: creating SYSTEM prefix files";   
 } else {
        $prefix = $main::local_data;
+       say "create_prefix.pl: creating LOCAL prefix files";    
 }
 
 my $ifn;
 
-$ifn = "$prefix/wpxloc.raw";
+$ifn = $system ? "$main::data/wpxloc.raw" : "$prefix/wpxloc.raw";
 unless (open (IN, $ifn)) {
        $ifn = "$main::data/wpxloc.raw";
        open(IN, $ifn) or die "can't open $ifn ($!)";
@@ -110,7 +116,7 @@ close(IN);
 
 # now open the cty.dat file if it is there
 my $r;
-$ifn = "$prefix/cty.dat";
+$ifn = $system ? "$main::data/cty.dat" : "$prefix/cty.dat";
 unless ($r = open (IN, $ifn)) {
        $ifn = "$main::data/cty.dat";
        $r = open(IN, $ifn);
@@ -168,13 +174,15 @@ foreach my $l (sort {$a <=> $b} keys %locn) {
        $longd = 0-$longd if (uc $longl) eq 'W'; 
        $latd += ($latm/60);
        $latd = 0-$latd if (uc $latl) eq 'S';
+       my $qra = DXBearing::lltoqra($latd, $longd);
        print OUT " name => '$name',";
        print OUT " dxcc => $dxcc,";
        print OUT " itu => $itu,";
        print OUT " cq => $cq,";
        print OUT " utcoff => $utcoff,";
        print OUT " lat => $latd,";
-       print OUT " long => $longd";
+       print OUT " long => $longd,";
+       print OUT " qra => '$qra'";
        print OUT " }, 'Prefix'),\n";
 }
 print OUT ");\n\n";