# $Id: Text.pm 1179 2006-08-05 08:30:57Z warly $ package Youri::Check::Output::File::Format::Text; =head1 NAME Youri::Check::Output::File::Format::Text - File text format support =head1 DESCRIPTION This format plugin for L provides text format support. =cut use warnings; use strict; use Carp; use base 'Youri::Check::Output::File::Format'; sub extension { return 'txt'; } sub get_report { my ($self, $time, $title, $iterator, $type, $columns, $links, $maintainer) = @_; my $content; $content .= $title; $content .= "\n"; my $lead_columns = [ $maintainer ? qw/package media/ : qw/package media maintainer/ ]; my @results; $content .= join("\t", @$lead_columns, @$columns) . "\n"; while (my $result = $iterator->get_result()) { if (@results && $result->{package} ne $results[0]->{package}) { $content .= $self->_get_formated_results( $lead_columns, $columns, \@results ); @results = (); } push(@results, $result); } $content .= $self->_get_formated_results( $lead_columns, $columns, \@results ); $content .= "\n"; $content .= "Page generated $time\n"; return \$content; } sub _get_formated_results { my ($self, $lead_columns, $columns, $results) = @_; my $content; $content .= join( "\t", (map { $results->[0]->{$_} || '' } @$lead_columns), (map { $results->[0]->{$_} || '' } @$columns) ) . "\n"; for my $i (1 .. $#$results) { $content .= join( "\t", (map { '' } @$lead_columns), (map { $results->[$i]->{$_} || '' } @$columns) ) . "\n"; } return $content; } =head1 COPYRIGHT AND LICENSE Copyright (C) 2002-2006, YOURI project This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut 1;