1 package MojoFacets::Import::HTMLTable;
8 use HTML::TableExtract;
10 use Data::Dump qw(dump);
12 __PACKAGE__->attr('dir');
21 foreach my $file ( glob $self->dir . '/*.html' ) {
22 warn "# file $file\n";
23 my $te = HTML::TableExtract->new(
27 $te->parse( scalar read_file $file );
29 foreach my $ts ($te->tables) {
30 warn "# table coords ", join(',', $ts->coords), "\n";
31 warn "# hrow ", dump( $ts->hrow() ), "\n";
32 my @column_map = $ts->column_map;
33 warn "# column_map ", dump( @column_map );
34 next unless $#column_map == 8;
35 foreach my $row ($ts->rows) {
36 warn "# row ", dump( $row ),"\n";
37 if ( ! $stats->{$file} ) {
40 warn "# new header ",dump(@header);
43 my $o = join('|', @header);
44 my $n = join('|', @$row);
46 warn "# same header again in $file skipping\n";
49 warn "# header $n changed from $o in $file";
56 foreach my $i ( 0 .. $#$row ) {
57 $item->{ $header[$i] } = [ $row->[$i] ];
59 warn "## item ",dump($item);
70 header => [ @header ],
75 warn "# data ",dump( $data );