/[Frey]/trunk/lib/Frey/Shell/Log.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Shell/Log.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 898 by dpavlin, Wed Dec 24 21:42:20 2008 UTC revision 899 by dpavlin, Wed Dec 24 22:20:30 2008 UTC
# Line 34  sub as_sponge { Line 34  sub as_sponge {
34          my $from = DateTimeX::Easy->parse( $self->from_datetime ) if $self->from_datetime;          my $from = DateTimeX::Easy->parse( $self->from_datetime ) if $self->from_datetime;
35          my $to   = DateTimeX::Easy->parse( $self->to_datetime   ) if $self->to_datetime;          my $to   = DateTimeX::Easy->parse( $self->to_datetime   ) if $self->to_datetime;
36    
37          warn "# from: $from" if $from;          sub date_time {
38          warn "# to: $to" if $to;                  my $dt = shift;
39                    $dt->ymd . ' ' . $dt->hms;
40            }
41    
42            my $stats = {
43                    from => date_time( $from ),
44                    to   => date_time( $to ),
45            };
46    
47            warn "# stats ",$self->dump( $stats );
48    
49          open(my $fh, '-|', $cmd) || die "can't open pipe to $cmd $!";          open(my $fh, '-|', $cmd) || die "can't open pipe to $cmd $!";
50          while(<$fh>) {          while(<$fh>) {
# Line 44  sub as_sponge { Line 53  sub as_sponge {
53                  if ( m{^(\w\w\w) (\d\d) (\d\d:\d\d:\d\d) (.+)} ) {                  if ( m{^(\w\w\w) (\d\d) (\d\d:\d\d:\d\d) (.+)} ) {
54                          my $message = $4;                          my $message = $4;
55                          my $dt = DateTimeX::Easy->parse("2008-$1-$2 $3");                          my $dt = DateTimeX::Easy->parse("2008-$1-$2 $3");
56                          if ( $from ) {                          if ( $from && $dt < $from ) {
57                                  next if $dt < $from;                                  $stats->{before_from}++;
58                                    next;
59                          }                          }
60                          if ( $to ) {                          if ( $to && $dt > $to ) {
61                                  next if $dt > $to;                                  $stats->{after_to}++;
62                                    next;
63                          }                          }
64                          push @rows, [ $dt->ymd . ' ' . $dt->hms, $message ];                          push @rows, [ date_time( $dt ), $message ];
65                            $stats->{rows}++;
66                  } else {                  } else {
67                          warn "# skip $_\n";                          warn "# skip $_\n";
68                            $stats->{skipped}++;
69                  }                  }
70          }          }
71    
72            warn "# stats ",$self->dump( $stats );
73    
74          return {          return {
75                  NAME => [ 'date', 'message' ],                  NAME => [ 'date', 'message' ],
76                  rows => \@rows,                  rows => [ sort { $a->[0] cmp $b->[0] } @rows ],
77                    stats => $stats,
78          }          }
79  }  }
80    

Legend:
Removed from v.898  
changed lines
  Added in v.899

  ViewVC Help
Powered by ViewVC 1.1.26