Proton-compliant match scorer library.
Project description
LibProton
This is a library which simplifies the task of creating Proton compliant scoring scripts.
It supports Python 2.7 and 3.x.
API
The following is a complete and minimal Proton compliant scorer, and shows the expected usage of the library.
#!/usr/bin/env python
import libproton
class Scorer:
def __init__(self, teams_data, arena_data):
self._teams_data = teams_data
self._arena_data = arena_data
def calculate_scores(self):
"""Main scoring entry point.
Expected to return a mapping of TLA -> score for each team in
the input data. Errors either in the input or otherwise should
be handled by raising exceptions.
"""
scores = {}
for tla in self._teams_data.keys():
scores[tla] = 4
return scores
def validate(self, extra_data):
"""An optional additional method to validate the scoresheet.
If this method is implemented it will be called with the value
of the ``other`` key from the input. If the key is not present
then this method will still be called (with ``None``).
If there are validation errors the this method should raise
an exception about them.
"""
pass
if __name__ == '__main__:
libproton.main(Scorer)
Tests
Run python setup.py test
or nosetests
from the root.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
libproton-3.0.1.tar.gz
(3.6 kB
view hashes)
Built Distribution
Close
Hashes for libproton-3.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b6e89307c2e081e1a7be7ee5ce01b4f04996aed2afddf8409780677b57b6887 |
|
MD5 | 959ca3a601936dfb4347410d6c91c609 |
|
BLAKE2b-256 | fadde05ee39ed0aca8a9d3d69ac7f94b6ed4b916fc2c9beec3b272e571cf68ba |