From: Mischa POSLAWSKY Date: Wed, 21 Aug 2019 21:18:36 +0000 (+0200) Subject: number member index before ladder reorder X-Git-Tag: v0.5~8 X-Git-Url: http://git.shiar.nl/sc2-widget/commitdiff_plain/ae31cf0d5d4533c0f3dc35b75d7ff374e135c24f number member index before ladder reorder Keep stable ladder sort to minimise changing order of appearance over time and subsequent data incomparability. --- diff --git a/getsc2clan b/getsc2clan index 1fbdd02..cc38e4d 100755 --- a/getsc2clan +++ b/getsc2clan @@ -54,10 +54,6 @@ for my $season (qw[ currentSeason previousSeason ]) { } my @ladders = ( - sort_by { $_->{season} } # season - nsort_by { - -($_->{ladder}->[0]->{wins} + $_->{ladder}->[0]->{losses}) - } # activity desc nsort_by { $_->{ladder}->[0]->{ladderId} } # stable order grep { !$clanmatch or @@ -73,15 +69,23 @@ $memberidx{ $_->{id} } //= push(@members, $_) && $#members say JSON->new->canonical->pretty->encode({ name => $members[0]->{clanName}, tag => $members[0]->{clanTag}, - ladders => [map {{ - league => lc $_->{ladder}->[0]->{league}, - division => $_->{ladder}->[0]->{ladderName}, - rank => $_->{ladder}->[0]->{rank}, - members => [map { $memberidx{$_->{id}} } $_->{characters}->@*], - wins => $_->{ladder}->[0]->{wins}, - losses => $_->{ladder}->[0]->{losses}, - (season => -1) x ($_->{season} eq 'previousSeason'), - }} @ladders], + ladders => [ + map {{ + id => $_->{ladder}->[0]->{ladderId}, + league => lc $_->{ladder}->[0]->{league}, + division => $_->{ladder}->[0]->{ladderName}, + rank => $_->{ladder}->[0]->{rank}, + members => [map { $memberidx{$_->{id}} } $_->{characters}->@*], + wins => $_->{ladder}->[0]->{wins}, + losses => $_->{ladder}->[0]->{losses}, + (season => -1) x ($_->{season} eq 'previousSeason'), + }} + sort_by { $_->{season} } # season + nsort_by { + -($_->{ladder}->[0]->{wins} + $_->{ladder}->[0]->{losses}) + } # activity desc + @ladders + ], members => [map { blizget(metadata => profile => 2 => 1 => $_->{id}) # lacks mmr, fav race (available in new api)