git.shiar.nl
/
sc2-widget
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5f49ce1
)
record and order by number of games
author
Mischa POSLAWSKY
<perl@shiar.org>
Wed, 1 May 2019 22:58:12 +0000
(
00:58
+0200)
committer
Mischa POSLAWSKY
<perl@shiar.org>
Thu, 2 May 2019 00:10:50 +0000
(
02:10
+0200)
getsc2clan
patch
|
blob
|
history
widget.html
patch
|
blob
|
history
diff --git
a/getsc2clan
b/getsc2clan
index 23190e48f990e8516ad1c359f67d72f7e1adf636..4f6bcc35fd4f5827693e3eed0156f047616bd09c 100755
(executable)
--- 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 = (
# 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}->@*
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";
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},
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}->@*],
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})
}} @ladders],
members => [map {
blizget(metadata => profile => 2 => 1 => $_->{id})
diff --git
a/widget.html
b/widget.html
index a9d615fa5f7cbaa418673229cda27ccdc8df3210..c604c5912391bc47bd3723a906c89676a45a30f9 100644
(file)
--- a/
widget.html
+++ b/
widget.html
@@
-19,7
+19,8
@@
<h1>${clan.tag}</h1>
<ul class=ladders>
${clan.ladders.map(ladder => `
<h1>${clan.tag}</h1>
<ul class=ladders>
${clan.ladders.map(ladder => `
- <li title="Division ${ladder.division}" class="rank ${ladder.league}">
+ <li class="rank ${ladder.league}"
+ title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
${ladder.league} <small>#${ladder.rank}</small>
</li>
`).join('')}
${ladder.league} <small>#${ladder.rank}</small>
</li>
`).join('')}