projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improve talk logging to show orig or dest node.
[spider.git]
/
perl
/
USDB.pm
diff --git
a/perl/USDB.pm
b/perl/USDB.pm
index 69e1ead083446e4fbf3fa5c43900299c1418aee9..042e9190f4538ac64e26b3171904c309a220986d 100644
(file)
--- a/
perl/USDB.pm
+++ b/
perl/USDB.pm
@@
-15,12
+15,6
@@
use File::Copy;
use DXDebug;
#use Compress::Zlib;
use DXDebug;
#use Compress::Zlib;
-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 vars qw(%db $present $dbfn);
$dbfn = "$main::data/usdb.v1";
use vars qw(%db $present $dbfn);
$dbfn = "$main::data/usdb.v1";
@@
-28,12
+22,11
@@
$dbfn = "$main::data/usdb.v1";
sub init
{
end();
sub init
{
end();
- if (tie %db, 'DB_File', $dbfn, O_RD
ONLY
, 0664, $DB_BTREE) {
+ if (tie %db, 'DB_File', $dbfn, O_RD
WR
, 0664, $DB_BTREE) {
$present = 1;
$present = 1;
- dbg("US Database loaded");
- } else {
- dbg("US Database not loaded");
+ return "US Database loaded";
}
}
+ return "US Database not loaded";
}
sub end
}
sub end
@@
-51,6
+44,29
@@
sub get
return @s;
}
return @s;
}
+sub _add
+{
+ my ($db, $call, $city, $state) = @_;
+
+ # lookup the city
+ my $s = uc "$city|$state";
+ my $ctyn = $db->{$s};
+ unless ($ctyn) {
+ my $no = $db->{'##'} || 1;
+ $ctyn = "#$no";
+ $db->{$s} = $ctyn;
+ $db->{$ctyn} = $s;
+ $no++;
+ $db->{'##'} = "$no";
+ }
+ $db->{uc $call} = $ctyn;
+}
+
+sub add
+{
+ _add(\%db, @_);
+}
+
sub getstate
{
return () unless $present;
sub getstate
{
return () unless $present;
@@
-65,6
+81,12
@@
sub getcity
return @s ? $s[0] : undef;
}
return @s ? $s[0] : undef;
}
+sub del
+{
+ my $call = uc shift;
+ delete $db{$call};
+}
+
#
# load in / update an existing DB with a standard format (GZIPPED)
# "raw" file.
#
# load in / update an existing DB with a standard format (GZIPPED)
# "raw" file.
@@
-105,6
+127,8
@@
sub load
for (@_) {
my $ofn = shift;
for (@_) {
my $ofn = shift;
+ return "Cannot find $ofn" unless -r $ofn;
+
# conditionally handle compressed files (don't cha just lurv live code, this is
# a rave from the grave and is "in memoriam Flossie" the ICT 1301G I learnt on.
# {for pedant computer historians a 1301G is an ICT 1301A that has been
# conditionally handle compressed files (don't cha just lurv live code, this is
# a rave from the grave and is "in memoriam Flossie" the ICT 1301G I learnt on.
# {for pedant computer historians a 1301G is an ICT 1301A that has been
@@
-113,7
+137,7
@@
sub load
if ($nfn =~ /.gz$/i) {
my $gz;
eval qq{use Compress::Zlib; \$gz = gzopen(\$ofn, "rb")};
if ($nfn =~ /.gz$/i) {
my $gz;
eval qq{use Compress::Zlib; \$gz = gzopen(\$ofn, "rb")};
- return "Cannot read compressed files $@
" if $@
;
+ return "Cannot read compressed files $@
$!" if $@ || !$gz
;
$nfn =~ s/.gz$//i;
my $of = new IO::File ">$nfn" or return "Cannot write to $nfn $!";
my ($l, $buf);
$nfn =~ s/.gz$//i;
my $of = new IO::File ">$nfn" or return "Cannot write to $nfn $!";
my ($l, $buf);
@@
-129,19
+153,9
@@
sub load
my $l = $_;
$l =~ s/[\r\n]+$//;
my ($call, $city, $state) = split /\|/, $l;
my $l = $_;
$l =~ s/[\r\n]+$//;
my ($call, $city, $state) = split /\|/, $l;
+
+ _add(\%dbn, $call, $city, $state);
- # lookup the city
- my $s = "$city|$state";
- my $ctyn = $dbn{$s};
- unless ($ctyn) {
- my $no = $dbn{'##'} || 1;
- $ctyn = "#$no";
- $dbn{$s} = $ctyn;
- $dbn{$ctyn} = $s;
- $no++;
- $dbn{'##'} = "$no";
- }
- $dbn{$call} = $ctyn;
$count++;
}
$of->close;
$count++;
}
$of->close;