From: Mischa POSLAWSKY Date: Wed, 1 May 2019 22:58:12 +0000 (+0200) Subject: record and order by number of games X-Git-Tag: v0.2~6 X-Git-Url: http://git.shiar.nl/sc2-widget/commitdiff_plain/441b093f4c9239ecc3b0c4a10418dba21d9800df record and order by number of games --- diff --git a/getsc2clan b/getsc2clan index 23190e4..4f6bcc3 100755 --- a/getsc2clan +++ b/getsc2clan @@ -32,7 +32,10 @@ sub blizget { # prefer deprecated interface to prevent costly ladder search my $ladderdata = blizget(legacy => profile => 2 => 1 => $profileid => 'ladders'); my @ladders = ( - sort { $b->{characters}->@* <=> $a->{characters}->@* } # population desc + sort { + $b->{ladder}->[0]->{wins}+$b->{ladder}->[0]->{losses} <=> + $a->{ladder}->[0]->{wins}+$a->{ladder}->[0]->{losses} + } # activity desc grep { !$clanmatch or all { fc $_->{clanName} eq fc $clanmatch } $_->{characters}->@* @@ -40,8 +43,9 @@ my @ladders = ( grep { $_->{ladder}->[0]->{division} } $ladderdata->{currentSeason}->@* ) or die "No matching groups found\n"; -my @members = $ladders[0]->{characters}->@*; -my %memberidx = map { $members[$_]->{id} => $_ } 0 .. $#members; +my (@members, %memberidx); +$memberidx{ $_->{id} } //= push(@members, $_) && $#members + for map { $_->{characters}->@* } @ladders; say JSON->new->canonical->pretty->encode({ name => $members[0]->{clanName}, @@ -51,6 +55,8 @@ say JSON->new->canonical->pretty->encode({ division => $_->{ladder}->[0]->{ladderName}, rank => $_->{ladder}->[0]->{rank}, members => [map { $memberidx{$_->{id}} } $_->{characters}->@*], + wins => $_->{ladder}->[0]->{wins}, + losses => $_->{ladder}->[0]->{losses}, }} @ladders], members => [map { blizget(metadata => profile => 2 => 1 => $_->{id}) diff --git a/widget.html b/widget.html index a9d615f..c604c59 100644 --- a/widget.html +++ b/widget.html @@ -19,7 +19,8 @@

${clan.tag}