/[simile]/wm/lib/WM/System.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 /wm/lib/WM/System.pm

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

revision 40 by dpavlin, Sun Oct 26 14:20:45 2008 UTC revision 41 by dpavlin, Sun Oct 26 14:29:00 2008 UTC
# Line 9  use Data::Dump qw/dump/; Line 9  use Data::Dump qw/dump/;
9  use JSON;  use JSON;
10    
11  my $remote = 'ssh mjesec';  my $remote = 'ssh mjesec';
12  $remote = ''; # FIXME  #$remote = ''; # FIXME
13    
14  sub exhibit {  sub exhibit {
15      my ($self, $c) = @_;      my ($self, $c) = @_;
# Line 52  sub df { Line 52  sub df {
52          my @lines = split(/\n/, $df);          my @lines = split(/\n/, $df);
53          my @header = map { lc($_) } split(/\s+/, shift @lines, 6);          my @header = map { lc($_) } split(/\s+/, shift @lines, 6);
54    
55          my @data;          my @items;
56          my $number;          my $number;
57    
58          while ( @lines ) {          while ( @lines ) {
59                  my $data;                  my $item;
60                  my @v = split(/\s+/, shift @lines);                  my @v = split(/\s+/, shift @lines);
61                  if ( $#v == 0 ) {                  if ( $#v == 0 ) {
62                          push @v, split(/\s+/, shift @lines);                          my $cont = shift @lines;
63                            $cont =~ s/^\s+//;
64                            push @v, split(/\s+/, $cont);
65                  }                  }
66                  foreach my $i ( 0 .. $#header ) {                  foreach my $i ( 0 .. $#header ) {
67                          my $name = lc( $header[$i] );                          my $name = lc( $header[$i] );
# Line 68  sub df { Line 70  sub df {
70                          $name =~ s/_+$//;                          $name =~ s/_+$//;
71                          my $val = $v[$i];                          my $val = $v[$i];
72                          $number->{$name}++ if $val =~ s/^(\d+)%?$/$1/;                          $number->{$name}++ if $val =~ s/^(\d+)%?$/$1/;
73                          $data->{ $name } = $val;                          $item->{ $name } = $val;
74    
75                          $data->{ label } = $val if $name =~ m/mounted/;                          $item->{ label } = $val if $name =~ m/mounted/;
76                  }                  }
77                  warn "left ",dump(@v) if @v;                  warn "left ",dump(@v) if @v;
78                  push @data, $data;                  push @items, $item;
79          }          }
80    
81          warn "# data = ",dump( @data );          warn "# items = ",dump( @items );
82          warn "# number [$#header] = ",dump( $number );          warn "# number [$#items] = ",dump( $number );
83    
84          $self->json( $c->res, {          $self->json( $c->res, {
85                  items => [ @data ],                  items => [ @items ],
86                  properties => {                  properties => {
87                          map { $_ => { valueType => 'number' } }                          map { $_ => { valueType => 'number' } }
88                          grep { $number->{$_} == $#header + 1 }                          grep { $number->{$_} == $#items + 1 }
89                          keys %$number                          keys %$number
90                  }                  }
91          } );          } );

Legend:
Removed from v.40  
changed lines
  Added in v.41

  ViewVC Help
Powered by ViewVC 1.1.26