Allow synonyms for localhost
[spider.git] / perl / gen_usdb_data.pl
index cc2850cf693fa6c6c9f1bf04f17cc0ef0de2e5c5..7857a5c534695ddec9f4d7f3206deabe7c4d39e7 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Something to create my subset of the US call book data,
 # in my flat file form, either from the main data base or
@@ -23,7 +23,7 @@
 #
 # Copyright (c) 2002 Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 use strict;
@@ -36,16 +36,14 @@ BEGIN {
        $root = "/spider"; 
        $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
 
+       mkdir "$root/local_data", 02777 unless -d "$root/local_data";
+
+       unshift @INC, "$root/perl";     # this IS the right way round!
        unshift @INC, "$root/local";
 }
 
-use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
+use SysVar;
 
-use DXVars;
 use Archive::Zip qw(:ERROR_CODES);
 use Archive::Zip::MemberRead;
 use IO::File;
@@ -55,7 +53,7 @@ my $blksize = 1024 * 1024;
 
 STDOUT->autoflush(1);
 
-my $dbrawfn = "$main::data/usdbraw.gz";
+my $dbrawfn = localdata("usdbraw.gz");
 
 rename "$dbrawfn.oo", "$dbrawfn.ooo";
 rename "$dbrawfn.o", "$dbrawfn.oo";
@@ -73,7 +71,6 @@ foreach my $argv (@ARGV) {
 }
 
 $gzfh->gzclose;
-print "$ctycount Cities found\n";
 
 exit(0);
 
@@ -81,7 +78,7 @@ sub handleEN
 {
        my ($zip, $argv) = @_;
        my $mname = "EN.dat";
-       my $ofn = "$main::data/$mname";
+       my $ofn = localdata($mname);
        print "  Handling EN records, unzipping";
        if ($zip->extractMember($mname, $ofn) == AZ_OK) {
                my $fh = new IO::File "$ofn" or die "Cannot open $ofn $!";
@@ -96,19 +93,20 @@ sub handleEN
                                $l =~ s/[\r\n]+$//;
                                my ($rt,$usi,$ulsfn,$ebfno,$call,$type,$lid,$name,$first,$middle,$last,$suffix,
                                        $phone,$fax,$email,$street,$city,$state,$zip,$pobox,$attl,$sgin,$frn) = split /\|/, $l;
-                               
-                               my $rec = uc join '|', $call,$city,$state if $city && $state;
-                               $buf .= "$rec\n";
-                               if (length $buf > $blksize) {
-                                       $gzfh->gzwrite($buf);
-                                       undef $buf;
+
+#                              print "ERR: $l\n" unless $call && $city && $state;
+
+                               if ($call && $city && $state) {
+                                       my $rec = uc join '|', $call,$city,$state if $city && $state;
+                                       $buf .= "$rec\n";
+                                       if (length $buf > $blksize) {
+                                               $gzfh->gzwrite($buf);
+                                               undef $buf;
+                                       }
+                                       $count++;
                                }
-                               my $c = uc "$city|$state";
-                               $count++;
-                       }
-                       if (length $buf > $blksize) {
-                               $gzfh->gzwrite($buf);
                        }
+                       $gzfh->gzwrite($buf) if length $buf;
                        print ", $count records\n";
                        $fh->close;
                }