e0f03b1a14ccf14eef464409d010bd18b74fab97
[MojoFacets.git] / lib / MojoFacets / Import / Log.pm
1 package MojoFacets::Import::Log;
2
3 use warnings;
4 use strict;
5
6 use base 'Mojo::Base';
7
8 use Data::Dump qw(dump);
9
10 __PACKAGE__->attr('full_path');
11
12 sub ext { '.log' }
13
14 sub data {
15         my $self = shift;
16
17         my $path = $self->full_path;
18
19         my $data = { items => [] };
20         my $need_header = 1;
21
22         my @header;
23         @header = qw(Filesystem 1K-blocks Used Available Use% Mounted-on) if $path =~ m/date-df/;
24
25         open(my $fh, $path) || die "$path: $!";
26         while(<$fh>) {
27                 chomp;
28                 warn "## $_\n";
29
30                 chomp;
31                 my @v = split(/\s/, $_);
32
33                 my $item;
34                 foreach my $i ( 0 .. $#v ) {
35                         $item->{ $header[$i] || "f_$i" } = [ $v[$i] ];
36                 }
37                 push @{ $data->{items} }, $item;
38
39                 if ( $need_header ) {
40                         $data->{header} = [ @header ];
41                         $need_header = 0;
42                 }
43         }
44
45         return $data;
46
47 }
48
49 1