Добрый день.
Возможно ли посмотреть все посылки, имеющие статус Pending Review, находящиеся в разных турнирах? Или для этого обязательно заходить в каждый турнир и проверять отдельно?
И ещё один вопрос: есть ли возможность объединять скорборды нескольких турниров в один или для этого нужно писать скрипт, который будет парсить standings.html из нужных контестов?
Спасибо.
Pending Review из разных турниров
Re: Pending Review из разных турниров
Такие возможности есть в планах, но пока не реализованы.
Re: Pending Review из разных турниров
Дарю свою программу на перле, которая умеет это делать. И отправляет на почту список таких контестов, с указанием числа непроверенных задач!
Code: Select all
#!/usr/bin/perl -w
# Необязательные параметры запуска
# -c <список номеров контестов через запятую>
# -m <список адресов почты через пробел>
use Getopt::Std;
our %Options;
getopts("u:c:m:",\%Options);
my $user=$Options{u};
my $contests=$Options{c};
my $query;
$query = "select contest_id, count(*) from runs where status = 16 and user_id > 1 ";
if (defined($user))
{
my $flag = 1;
open CONFIG, "<", "/home/" . $user . "/.ejudge.conf" or $flag = 0;
if($flag)
{
while(<CONFIG>)
{
s/#.*//;
s/\s*$//;
if(length($_) > 0)
{
$query = $query . "and " . $_ . " ";
}
}
}
}
$query = $query . " group by contest_id order by contest_id;";
open(IN,"mysql ejudge -e '" . $query . "' -N|");
my $msgbody="";
while(<IN>)
{
if(/(\d+)\s+(\d+)/)
{
$msgbody .= "\t$2\t$1\thttp://server.179.ru/cgi-bin/new-master?contest_id=$1\n";
print "\t$2\t$1\n";
}
}
close(IN);
if(length($msgbody)>0 and defined($user))
{
my $email = $user . "\@179.ru";
open(OUT,"|mail -s 'Ejudge at server.179.ru: new submits' " . $email);
print OUT "Information about pending review solutions at server.179.ru\n";
print OUT $msgbody;
close(OUT);
}
if(length($msgbody) == 0)
{
print "No new submits - no report\n";
}