X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXXml.pm;h=c40e3be041ff91c9f468dae81eae238e63b38aba;hb=082d020e6964f4b822d287980740bc3d787f3685;hp=c877436b7ba0b96941708accfcdb3ccc25299ee1;hpb=fd20f44c57b732d5362a5ee9b9edb25c958cf71c;p=spider.git diff --git a/perl/DXXml.pm b/perl/DXXml.pm index c877436b..c40e3be0 100644 --- a/perl/DXXml.pm +++ b/perl/DXXml.pm @@ -19,7 +19,7 @@ use DXXml::Ping; use DXXml::Dx; use DXXml::IM; -use vars qw($VERSION $BRANCH $xs $id $max_old_age $max_future_age); +use vars qw($VERSION $BRANCH $xs $id $max_old_age $max_future_age $dupeage); $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); $main::build += $VERSION; @@ -29,6 +29,8 @@ $xs = undef; # the XML::Simple parser instance $id = 0; # the next ID to be used $max_old_age = 3600; # how old a sentence we will accept $max_future_age = 900; # how far into the future we will accept +$dupeage = 12*60*60; # duplicates stored half a day + # generate a new XML sentence structure sub new @@ -97,11 +99,11 @@ sub normal dbg("Invalid, non-existant or zero time") if isdbg('chanerr'); return; } - unless ($t < $main::systime - $max_old_age || $t > $main::systime + $max_future_age) { + unless ($t > $main::systime - $max_old_age && $t < $main::systime + $max_future_age) { dbg("Too old or too far in the future") if isdbg('chanerr'); return; } - unless (exists $xref->{id} && ($id = $xref->{id}) >= 0 && $id <= 9999) { + unless (exists $xref->{id} && ($id = $xref->{id}) >= 0 && $id <= 999) { dbg("Invalid or non-existant id") if isdbg('chanerr'); return; } @@ -113,7 +115,7 @@ sub normal # now check that we have not seen this before # this is based on the tuple (o (origin), t (time, normalised to time_t), id) $xref->{'-timet'} = $t; - return if DXDupe::check("xml,$o,$t,$id"); + return if DXDupe::check("xml,$o,$t,$id", $dupeage); $xref = bless $xref, $pkg; $xref->{'-xml'} = $line;