X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FDXLog.pm;h=dde723027f5b237afd735c4452eeafd1b7a42a02;hb=9a55af9586711ecdea8dc9b0da38509119fa8090;hp=3a6e0e3589ec86b3b53ff00cb665e804b80299e0;hpb=099c6b4a10d9f1e7471b0c94273cd992b5814cdc;p=spider.git diff --git a/perl/DXLog.pm b/perl/DXLog.pm index 3a6e0e35..dde72302 100644 --- a/perl/DXLog.pm +++ b/perl/DXLog.pm @@ -50,7 +50,7 @@ sub new my $ref = {}; $ref->{prefix} = "$main::data/$prefix"; $ref->{suffix} = $suffix if $suffix; - $ref->{sort} = $sort; + $ref->{'sort'} = $sort; # make sure the directory exists mkdir($ref->{prefix}, 0777) if ! -e $ref->{prefix}; @@ -66,16 +66,15 @@ sub open if (defined $mode) { my $dir = "$self->{prefix}/$year"; mkdir($dir, 0777) if ! -e $dir; - $self->{mode} = $mode; - } else { - delete $self->{mode}; } - $self->{fn} = sprintf "$self->{prefix}/$year/%02d", $thing if $self->{sort} eq 'm'; - $self->{fn} = sprintf "$self->{prefix}/$year/%03d", $thing if $self->{sort} eq 'd'; + $self->{fn} = sprintf "$self->{prefix}/$year/%02d", $thing if $self->{'sort'} eq 'm'; + $self->{fn} = sprintf "$self->{prefix}/$year/%03d", $thing if $self->{'sort'} eq 'd'; $self->{fn} .= ".$self->{suffix}" if $self->{suffix}; $mode = 'r' if !$mode; + $self->{mode} = $mode; + my $fh = new FileHandle $self->{fn}, $mode; return undef if !$fh; $fh->autoflush(1) if $mode ne 'r'; # make it autoflushing if writable @@ -93,9 +92,9 @@ sub open sub openprev { my $self = shift; - if ($self->{sort} eq 'm') { + if ($self->{'sort'} eq 'm') { ($self->{year}, $self->{thing}) = Julian::subm($self->{year}, $self->{thing}, 1); - } elsif ($self->{sort} eq 'd') { + } elsif ($self->{'sort'} eq 'd') { ($self->{year}, $self->{thing}) = Julian::sub($self->{year}, $self->{thing}, 1); } return $self->open($self->{year}, $self->{thing}, @_); @@ -105,9 +104,9 @@ sub openprev sub opennext { my $self = shift; - if ($self->{sort} eq 'm') { + if ($self->{'sort'} eq 'm') { ($self->{year}, $self->{thing}) = Julian::addm($self->{year}, $self->{thing}, 1); - } elsif ($self->{sort} eq 'd') { + } elsif ($self->{'sort'} eq 'd') { ($self->{year}, $self->{thing}) = Julian::add($self->{year}, $self->{thing}, 1); } return $self->open($self->{year}, $self->{thing}, @_); @@ -118,9 +117,9 @@ sub unixtoj { my $self = shift; - if ($self->{sort} eq 'm') { + if ($self->{'sort'} eq 'm') { return Julian::unixtojm(shift); - } elsif ($self->{sort} eq 'd') { + } elsif ($self->{'sort'} eq 'd') { return Julian::unixtoj(shift); } confess "shouldn't get here"; @@ -163,7 +162,6 @@ sub close my $self = shift; undef $self->{fh}; # close the filehandle delete $self->{fh}; - delete $self->{mode}; } # log something in the system log