|
16 | 16 | my $all = 0;
|
17 | 17 | my ( $distribution, $release, $age );
|
18 | 18 | GetOptions(
|
19 |
| - "all" => \$all, |
| 19 | + "all" => \$all, |
20 | 20 | "distribution=s" => \$distribution,
|
21 |
| - "release=s" => \$release, |
22 |
| - "age=i" => \$age, |
| 21 | + "release=s" => \$release, |
| 22 | + "age=i" => \$age, |
23 | 23 | );
|
24 | 24 |
|
25 | 25 | # Setup
|
26 | 26 | my $query
|
27 |
| - = $all ? { match_all => {} } |
28 |
| - : $distribution |
29 |
| - ? { term => { distribution => $distribution } } |
30 |
| - : $release ? { |
31 |
| - bool => { |
32 |
| - must => [ |
33 |
| - { term => { author => get_author($release) } }, |
34 |
| - { term => { name => $release } }, |
35 |
| - ] |
36 |
| - } |
| 27 | + = $all ? { match_all => {} } |
| 28 | + : $distribution ? { term => { distribution => $distribution } } |
| 29 | + : $release ? { |
| 30 | + bool => { |
| 31 | + must => [ |
| 32 | + { term => { author => get_author($release) } }, |
| 33 | + { term => { name => $release } }, |
| 34 | + ] |
37 | 35 | }
|
38 |
| - : $age |
39 |
| - ? { range => { date => { gte => sprintf( 'now-%dd', $age ) } } } |
40 |
| - : die "Error: must provide 'all' or 'distribution' or 'release' or 'age'"; |
| 36 | + } |
| 37 | + : $age ? { range => { date => { gte => sprintf( 'now-%dd', $age ) } } } |
| 38 | + : die "Error: must provide 'all' or 'distribution' or 'release' or 'age'"; |
41 | 39 |
|
42 |
| -my $body = { query => $query }; |
| 40 | +my $body = { query => $query }; |
43 | 41 | my $timeout = $all ? '720m' : '5m';
|
44 |
| -my $fields = [qw< author distribution name >]; |
| 42 | +my $fields = [qw< author distribution name >]; |
45 | 43 |
|
46 | 44 | my $es_release = MetaCPAN::ES->new( type => "release" );
|
47 |
| -my $scroll = $es_release->scroll( |
| 45 | +my $scroll = $es_release->scroll( |
48 | 46 | body => $body,
|
49 | 47 | scroll => $timeout,
|
50 | 48 | fields => $fields,
|
|
64 | 62 |
|
65 | 63 | ###
|
66 | 64 |
|
67 |
| -sub get_author ( $release ) { |
| 65 | +sub get_author ($release) { |
68 | 66 | return unless $release;
|
69 | 67 | my $author = $release =~ s{/.*$}{}r;
|
70 |
| - $author or die "Error: invalid 'release' argument (format: PAUSEID/DISTRIBUTION-VERSION)"; |
| 68 | + $author |
| 69 | + or die |
| 70 | + "Error: invalid 'release' argument (format: PAUSEID/DISTRIBUTION-VERSION)"; |
71 | 71 | return $author;
|
72 | 72 | }
|
73 | 73 |
|
|
0 commit comments