跳转到主要内容

Timus在线裁判器的自定义比赛支持

项目描述

关于

此Python包为Timus在线裁判器的自定义比赛提供支持。

定义玩家和问题以获取自动更新的记分板,该记分板根据ACM ICPC规则生成。

可供预览的示例输出

配置

timus.scoreboard 使用INI风格的文件进行配置。以下是一个示例配置

[contest]
title = My sample contest
start = 12:00:00 1 Oct 2012
end = 17:00:00 1 Oct 2012

[users]
1000 = Team 1 (John, Jack, Suzan)
1001 = Team 2 (Mike, Roger, Dan)

[problems]
1000 = A
1001 = B
1002 = C
1003 = D

[config]
output_dir = ./output

contest部分的值不需要解释。只需确保遵循使用的日期格式,并记住Timus在线裁判器在UTC+6时区运行。

接下来,在users部分列出用户ID和他们的名字。ID是您的裁判ID的数字部分。其余的字母应保密,不要在配置中输入。这意味着如果您正在组织比赛,必须在比赛前收集ID。需要注意的是,虽然参赛者可能在Timus系统中指定了他们的名字,但您必须在配置文件中指定官方名称(例如包含团队成员的姓氏)。

必须在problems部分输入问题。在Timus系统中,问题有名字,但为了ACM风格的比赛,您可能希望有简短的名字(A/B/C/…是标准)。

运行timus-scoreboard

安装timus.scoreboard egg后,您应该能够执行timus-scoreboard脚本文档。此脚本的位置取决于您安装egg的方式。例如,如果使用了zc.buildout,脚本将位于由buildout生成的bin目录中。

该脚本需要配置文件的名称作为参数

wormhole:timus-scoreboard admp$ bin/timus-scoreboard -n sample.conf
Retrieving http://acm.timus.ru/status.aspx?count=100...
Writing ./output/index.html...
Writing ./output/top.html...
Writing ./output/table.html...

然而,如果您省略了-n选项,脚本将一直运行到比赛结束。如果您希望每隔几分钟更新一次记分表,这将很有用。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

timus.scoreboard-0.2.tar.gz (6.7 kB 查看哈希值)

上传时间 源代码

由以下支持