CPAN-Testers-WWW-Reports
view release on metacpan or search on metacpan
lib/Labyrinth/Plugin/CPAN/Builder.pm view on Meta::CPAN
my $destfile = "$cache/$author.json";
try {
# load JSON, if we have one
if(-f $destfile) {
$progress->( ".. processing rmauth $author $name (cleaning JSON file)" ) if(defined $progress);
my $data = read_file($destfile);
$progress->( ".. processing rmauth $author $name (read JSON file)" ) if(defined $progress);
my $store;
eval { $store = decode_json($data) };
$progress->( ".. processing rmauth $author $name (decoded JSON data)" ) if(defined $progress);
if(!$@ && $store) {
for my $row (@$store) {
next if($requests{$row->{id}}); # filter out requests
push @reports, $row;
}
}
overwrite_file( $destfile, _make_json( \@reports ) );
}
# clean the summary, if we have one
my @summary = $dbi->GetQuery('hash','GetAuthorSummary',$author);
if(@summary) {
$progress->( ".. processing rmauth $author $name (cleaning summary) " . scalar(@summary) . ' ' . ($summary[0] && $summary[0]->{dataset} ? 'true' : 'false') ) if(defined $progress);
my $dataset = decode_json($summary[0]->{dataset});
$progress->( ".. processing rmauth $author $name (decoded JSON summary)" ) if(defined $progress);
for my $data ( @{ $dataset->{distributions} } ) {
my $dist = $data->{dist};
my $summ = $data->{summary};
next unless($remove{$dist});
for my $state (keys %{ $remove{$dist} }) {
$summ->{ $state } -= $remove{$dist}{$state};
$summ->{ 'ALL' } -= $remove{$dist}{$state};
( run in 0.657 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )