]> www.fi.muni.cz Git - aoc.git/blobdiff - 2021/leaderboard
Infrastructure cleanups
[aoc.git] / 2021 / leaderboard
diff --git a/2021/leaderboard b/2021/leaderboard
deleted file mode 100755 (executable)
index 42874cd..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/perl -w
-
-use v5.16;
-use Mojo::UserAgent -signatures;
-use Mojo::JSON qw(from_json);
-use Mojo::File qw(curfile);
-use Mojo::Util qw(getopt dumper);
-use POSIX;
-
-my $board_id = 652041;
-my $my_name = 'Yenya';
-my $day = (localtime(time))[3];
-my $mode = 'r';
-my $force;
-getopt
-       'n|name=s'      => \$my_name,
-       'd|day=i'       => \$day,
-       '1|first-task'  => sub { $mode = '1' },
-       '2|second-task' => sub { $mode = '2' },
-       'r|relative'    => sub { $mode = 'r' },
-       'b|board=i'     => \$board_id,
-       'f|force'       => \$force
-or die "Usage: $0 [-n username] [-1|-2|-r] [-b board_id]\n";
-my $cache_filename = "cache-$board_id.json";
-my $cached = curfile->sibling($cache_filename);
-
-if ($force || !$cached->stat || time - $cached->stat->mtime > 900) {
-       warn "Downloading $cache_filename\n";
-       chomp(my $cookie = curfile->sibling('cookie')->slurp);
-       my $res = Mojo::UserAgent->new->get(
-               "https://adventofcode.com/2021/leaderboard/private/view/$board_id.json",
-               { Cookie => $cookie }
-       )->result;
-
-       $cached->spurt($res->body);
-}
-
-my $json = from_json $cached->slurp;
-
-
-my %times;
-my $my_time;
-for my $name (keys %{ $json->{members} }) {
-        my $member = $json->{members}->{$name};
-       my $level = $member->{completion_day_level}->{$day}
-               or next;
-       my $time;
-       if ($mode eq 'r') {
-               next if !$level->{2};
-               $time = $level->{2}->{get_star_ts} - $level->{1}->{get_star_ts};
-       } elsif ($mode eq '1') {
-               next if !$level->{1};
-               $time = $level->{1}->{get_star_ts};
-       } elsif ($mode eq '2') {
-               next if !$level->{2};
-               $time = $level->{2}->{get_star_ts};
-       }
-       my $id_or_name = $member->{name} // 'Anonymous user #' . $member->{id};
-       $times{ $id_or_name } = $time;
-       $my_time = $time
-               if $id_or_name eq $my_name;
-}
-
-for my $name (sort { $times{$a} <=> $times{$b} } keys %times) {
-       $my_time //= $times{$name};
-       printf("%6d %6d %s\n", $times{$name}, $times{$name} - $my_time, $name);
-}