From: Mischa POSLAWSKY Date: Tue, 30 Apr 2019 21:05:32 +0000 (+0200) Subject: clan match from command line arguments X-Git-Tag: v0.1~3 X-Git-Url: http://git.shiar.nl/sc2-widget/commitdiff_plain/1be0dee8143a60b3d57c72d41d6d59daa702d7ba clan match from command line arguments --- diff --git a/widget.pl b/widget.pl index 8f118d5..6c02c0b 100644 --- a/widget.pl +++ b/widget.pl @@ -8,8 +8,9 @@ use LWP::Authen::OAuth2; use JSON qw( decode_json ); use List::Util qw( all ); -my $profileid = 2138280; -my $clanmatch = 'Inno'; +my ($profileid, $clanmatch) = @ARGV; # clan host and name +$profileid and $profileid =~ /\A\d+\z/ + or die "Usage: $0 []\n"; my $bliz = LWP::Authen::OAuth2->new( client_id => '7f0f95ac9529474f854ee8d68a12c3e0', @@ -32,9 +33,12 @@ sub blizget { my $ladders = blizget(legacy => profile => 2 => 1 => $profileid => 'ladders'); my ($ladder) = ( sort { $b->{characters}->@* <=> $a->{characters}->@* } # population desc - grep { all { fc $_->{clanName} eq fc $clanmatch } $_->{characters}->@* } # members + grep { + !$clanmatch or + all { fc $_->{clanName} eq fc $clanmatch } $_->{characters}->@* + } # members $ladders->{currentSeason}->@* -); +) or die "No matching groups found\n"; say JSON->new->canonical->pretty->encode({ league => ucfirst lc $ladder->{ladder}->[0]->{league},