CPAN-Testers-WWW-Reports
view release on metacpan or search on metacpan
lib/Labyrinth/Plugin/CPAN/Report.pm view on Meta::CPAN
if($object->parse_report()) {
$tvars{article}{dist} = $object->distribution;
$tvars{article}{version} = $object->version;
$tvars{article}{author} = $object->from;
$tvars{article}{letter} = substr($tvars{article}{dist},0,1);
}
}
}
sub _parse_guid_report {
my $cpan = Labyrinth::Plugin::CPAN->new();
$cpan->Configure();
my @rows = $dbi->GetQuery('hash','GetMetabaseByGUID',$cgiparams{id});
return unless(@rows);
my $data = decode_json($rows[0]->{report});
my $fact = CPAN::Testers::Fact::LegacyReport->from_struct( $data->{'CPAN::Testers::Fact::LegacyReport'} );
$tvars{article}{article} = SafeHTML($fact->{content}{textreport});
#$tvars{article}{id} = $rows[0]->{id};
$tvars{article}{guid} = $rows[0]->{guid};
my $report = CPAN::Testers::Fact::TestSummary->from_struct( $data->{'CPAN::Testers::Fact::TestSummary'} );
my ($osname) = $cpan->OSName($report->{content}{osname});
$tvars{article}{state} = lc $report->{content}{grade};
$tvars{article}{platform} = $report->{content}{archname};
$tvars{article}{osname} = $osname;
$tvars{article}{osvers} = $report->{content}{osversion};
$tvars{article}{perl} = $report->{content}{perl_version};
$tvars{article}{created} = $report->{metadata}{core}{creation_time};
my $dist = Metabase::Resource->new( $report->{metadata}{core}{resource} );
$tvars{article}{dist} = $dist->metadata->{dist_name};
$tvars{article}{version} = $dist->metadata->{dist_version};
($tvars{article}{author},$tvars{article}{from}) = _get_tester( $report->creator );
$tvars{article}{author} =~ s/\@/ [at] /g;
$tvars{article}{from} =~ s/\@/ [at] /g;
$tvars{article}{from} =~ s/\./ [dot] /g;
if($tvars{article}{created}) {
my @created = $tvars{article}{created} =~ /(\d+)-(\d+)-(\d+)T(\d+):(\d+):(\d+)Z/; # 2010-02-23T20:33:52Z
$tvars{article}{postdate} = sprintf "%04d%02d", $created[0], $created[1];
$tvars{article}{fulldate} = sprintf "%04d%02d%02d%02d%02d", $created[0], $created[1], $created[2], $created[3], $created[4];
} else {
my @created = localtime(time);
$tvars{article}{postdate} = sprintf "%04d%02d", $created[5]+1900, $created[4]+1;
$tvars{article}{fulldate} = sprintf "%04d%02d%02d%02d%02d", $created[5]+1900, $created[4]+1, $created[3], $created[2], $created[1];
}
$tvars{article}{letter} = substr($tvars{article}{dist},0,1);
$tvars{article}{subject} = sprintf "%s %s-%s %s %s",
uc $tvars{article}{state}, $tvars{article}{dist}, $tvars{article}{version}, $tvars{article}{perl}, $tvars{article}{osname};
}
sub _get_tester {
my $creator = shift;
#$dbi->{'mysql_enable_utf8'} = 1;
my @rows = $dbi->GetQuery('hash','GetTesterFact',$creator);
return ($creator,$creator) unless(@rows);
#$rows[0]->{fullname} = encode_entities($rows[0]->{fullname});
$rows[0]->{email} ||= $creator;
$rows[0]->{email} =~ s/\'/''/g if($rows[0]->{email});
return ($rows[0]->{fullname},$rows[0]->{email});
}
1;
__END__
=head1 SEE ALSO
Labyrinth
=head1 AUTHOR
Barbie, <barbie@missbarbell.co.uk> for
Miss Barbell Productions, L<http://www.missbarbell.co.uk/>
=head1 COPYRIGHT & LICENSE
Copyright (C) 2008-2017 Barbie for Miss Barbell Productions
All Rights Reserved.
This module is free software; you can redistribute it and/or
modify it under the Artistic License 2.0.
=cut
( run in 1.984 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )