1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# $Id: Mail.pm 580 2006-01-11 22:59:36Z guillomovitch $
package Youri::Check::Output::Mail::Format::Text;
=head1 NAME
Youri::Check::Output::Mail::Format::Text - Mail text format support
=head1 DESCRIPTION
This format plugin for L<Youri::Check::Output::Mail> provides text format
support.
=cut
use warnings;
use strict;
use Carp;
use base 'Youri::Check::Output::Mail::Format';
sub type {
return 'text/plain';
}
sub get_report {
my ($self, $time, $title, $iterator, $type, $columns, $links, $maintainer) = @_;
my $content;
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
);
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;
|