Python Tools for Concours

Few Python tools to manage "concours".

  • Import CSV file with students from "welcome desk"
  • Generate password for each student
  • Generate a coupon (JSON/HTML/PDF) for each student which provides login (SCEI) / password
  • Create Test Takers / Group in TAO Testing
  • Create Deliveries
  • Collect Results

Documentation

Installing

$ pip install -i https://test.pypi.org/simple/ tao-rest-client
$ pip install -r requirements.txt

Running

cd src
cp config.cfg.sample config.cfg
# edit config.cfg to match your needs
# in [tao] section, you can configure:
# - TAO hostname/port
# - username/password of the user that will make REST API calls
# in [concours] section, you can define :
# - usb_key_dir -- the expected mount path of the USB key (where files will be loaded and saved)
# - output_dir  -- same as above (they should be merged in a next release)
# - topic [english|digital] -- to configure the tool for english/digital exam room
# - current_date -- to override the exam date (default: today)

python wui.py

For PDF generation of coupons, you will need a web browser (only tested with Chrome at the moment). Currently, the path to the web browser is hard-coded in src/pdftools.py (you can seek for PATH_TO_CHROME_EXE variable).

Schedules (track/timeslot/duration) are hard-coded in src/exam.py at the moment.

Configuration variables can also be overridden using environnement variables, for instance:

export CONCOURS_TAO_HOST=193.8.8.8
export CONCOURS_TAO_PORT=443
export CONCOURS_TAO_USERNAME=beedle
export CONCOURS_TAO_PASSWORD=Th3B@4d
export CONCOURS_CONCOURS_TOPIC=english
export CONCOURS_CONCOURS_CURRENT_DATE=2021-04-16

./wui.py