spider/perl/importkeps.pl
2006-06-28 08:32:07 +00:00

60 lines
1.1 KiB
Perl

#!/usr/bin/perl
#
# Take a 2 line keps email file on STDIN, prepare it for import into standard import directory
# and then shove it there, marked for SB ALL.
#
# Copyright (c) 2004 Dirk Koopman G1TLH
#
# $Id$
#
use strict;
our $root;
# search local then perl directories
BEGIN {
# root of directory tree for this system
$root = "/spider";
$root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
unshift @INC, "$root/perl"; # this IS the right way round!
unshift @INC, "$root/local";
}
my $fromcall = shift || 'G1TLH';
my $inp;
{
local $/ = undef;
$inp = <STDIN>;
}
# is it a 2 line kep file?
if ($inp =~ /ubject:\s+\[keps\]\s+orb\d{5}\.2l\.amsat/) {
process();
}
exit(0);
#
# process the file
#
sub process
{
# chop off most of the beginning
return unless $inp =~ s/^.*SB\s+KEPS\s+\@\s+AMSAT\s+\$ORB\d{5}\.\w/SB ALL < $fromcall/s;
return unless $inp =~ s/2Line\s+Orbital\s+Elements/2Line Keps/;
# open the output file in the data area
my $fn = "$root/tmp/keps.txt.$$";
open OUT, ">$fn" or die "$fn $!";
chmod 0666, $fn;
print OUT $inp;
close OUT;
link $fn, "$root/msg/import/keps.txt.$$";
unlink $fn;
}