+ # create a spotter if doesn't exit and there is an ip available and in anycase remember the IP address
+ my $user = DXUser::get_current($spot[4]);
+ $user = DXUser->new($spot[4]) unless $user;
+ my $r = Route::get($spot[4]);
+ my $ip = $spot[14] if exists $spot[14];
+ my $implied = '';
+ if ($ip) {
+ $ip =~ s/[\(\)\*]+//g; # strip these off :-)
+ $user->ip($spot[7], $ip);
+ $user->put;
+ $r->ip($spot[7], $ip) if $r;
+ } else {
+ $ip ||= $r->ip($spot[7]) if $r;
+ $ip ||= $user->ip($spot[7]);
+ $implied = '*' if $ip;
+ }
+
+ if (isdbg('progress')) {
+ my $sip = $ip ? sprintf "($ip$implied)" : '';
+ my $s = sprintf "SPOT: $spot[1] on $spot[0] \@ %s by $spot[4]$sip\@$spot[7]", cldatetime($spot[2]);
+ $s .= " '$spot[3]'" if $spot[3];
+ dbg($s);
+ }
+