-----
About
-----

This Python package provides support for custom contests on the
`Timus Online Judge <acm.timus.ru>`_.

Define the players and problems to get an automatically-updating score
board which is generated according to the ACM ICPC rules.

The `sample output <http://github.com/admp/timus-scoreboard/raw/master/sample-output/index.html>`_ is available for preview.

-------------
Configuration
-------------

`timus.scoreboard` uses INI-style files for configuration. Here is a
sample configuration::

    [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

The values for `contest` section do not require an explanation. Just
be sure to stick to the date format used and remember that the Timus
Online Judge is operating in UTC+6 time zone.

Next, list the user IDs and their names in the `users` section. The
ID is the numerical part of your Judge ID. The remaining letters
should be kept secret and not entered in the configuration. This
means that if you're organizing a contest, the IDs must be collected
beforehand. It should be noted that while contestants may have specified
their names in the Timus system, you will have to specify official
names (e.g. containing the last names of team members) in the configuration
file.

Problems must be entered in the `problems` section. In the Timus system,
problems have names, but for an ACM-style contest you will want to have
short names (A/B/C/... is a standard).

------------------------
Running timus-scoreboard
------------------------

After installing `timus.scoreboard` egg, you should be able to execute
the `timus-scoreboard` script. The location of this script depends on
the way you installed the egg. For instance, if zc.buildout was used,
the script will reside in `bin` directory as generated by buildout.

The script requires the name of the configuration file as a parameter::

    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...

If you, however, omit the `-n` option, the script will keep running
until the contest ends. This is useful if you want to update the score
table every few minutes.

