combine data from previous season
[sc2-widget] / getsc2clan
index b1a5ebdcc25085ad749d13b0ba9acbdd2a5ee048..94ca435551adcd62807fca213ea08464c60938ae 100755 (executable)
@@ -8,10 +8,15 @@ use LWP::Authen::OAuth2;
 use JSON qw( decode_json );
 use List::MoreUtils qw( all part nsort_by );
 
+if (@ARGV and all { m[/] } @ARGV) {
+       say pp blizget($_) for @ARGV;
+       exit;
+}
+
 my ($profiles, $clanmatches) = part { /\D/ } @ARGV;  # separate numbers
-@{$profiles}
+$profiles && @{$profiles}
        or die "Usage: $0 <profile id>... [<clan name>...]\n";
-my ($clanmatch) = map { $_ && qr/\A(?:$_)\z/i } join '|', @{$clanmatches};
+my ($clanmatch) = map { $_ && qr/\A(?:$_)\z/i } join '|', @{$clanmatches || []};
 
 sub blizget {
        state $bliz = do {
@@ -38,7 +43,8 @@ my @ladderdata = map {
 my %ladders = (
        map { $_->{ladder}->[0]->{ladderId} => $_ } # unique
        grep { $_->{ladder}->[0]->{division} }
-       map { $_->{currentSeason}->@* } @ladderdata
+       map { $_->{previousSeason}->@*, $_->{currentSeason}->@* }
+       @ladderdata
 );
 my @ladders = (
        nsort_by {