sol.models.championship -- Championships

class sol.models.championship.Championship(**kwargs)

A series of tournaments organized by the same club.

caption(html=None, localized=True)

Return a possibly HTML-decorated caption of the entity.

Parameters
  • html -- either None (the default) or a boolean value

  • localized -- a boolean value, True by default

Return type

str

If html is None or True then the result may be an HTML representation of the entity, otherwise it is plain text.

If localized is False then the localization is turned off.

classmethod check_insert(session, fields, user_id)

Check description validity

check_update(fields)

Check description validity

closed

Whether the championships is closed, and its ranking finalized.

couplings

Kind of pairing method used to build next round, used as default value for the corresponding field when creating a new tourney.

description

Description of the championship.

idchampionship

Primary key.

idclub

Organizer club's ID.

idowner

ID of the user that is responsible for this record.

idprevious

Previous championship's ID.

idrating

Possible rating ID, used as default value for the corresponding field when creating a new tourney.

owner

The owner of this record, admin when None.

playersperteam

Number of players per team.

previous

Previous championship.

prizes

Kind of prize-giving.

This is used to determine which method will be used to assign final prizes. It may be:

asis

means that the final prize is a plain integer number, monotonically decreasing down to 1 starting from num-of-competitors: this is meant to give the chance of swapping competitors positions after tournament's final rounds, the final prize column won't even show up in the final ranking printout;

fixed

means the usual way, that is 18 points to the winner, 16 to the second, 14 to the third, 13 to the fourth, …, 1 point to the 16th, 0 points after that;

fixed40

similar to fixed, but applied to best fourty scores starting from 1000:

  1. 1000

  2. 900

  3. 800

  4. 750

  5. 700

  6. 650

  7. 600

  8. 550

  9. 500

  10. 450

  11. 400

  12. 375

  13. 350

  14. 325

  15. 300

  16. 275

  17. 250

  18. 225

  19. 200

  20. 175

  21. 150

  22. 140

  23. 130

  24. 120

  25. 110

  26. 100

  27. 90

  28. 80

  29. 70

  30. 60

  31. 50

  32. 40

  33. 35

  34. 30

  35. 25

  36. 20

  37. 15

  38. 10

  39. 5

  40. 1

millesimal

is the classic method, that distributes a multiple of 1000/num-of-competitors;

centesimal

assigns 100 to the first ranked competitor, 1 to the last, linear interpolation to the other competitors.

ranking(limit=None, onlywomen=False)

Summarize the championship, collecting final prizes of the players.

Parameters
  • limit (either None or a date instance) -- the earliest date to consider

  • onlywomen (a boolean) -- whether only women should be considered

Return type

a tuple of two slots

For each tuple of players collect the earned prize in each tourney of the championship, or zero if the players did not participate to a given event.

limit and onlywomen are used by the general rankings, to consider only last year tourneys and to produce women ranking respectively.

Results in a tuple of two items, the first being a list of three slots tuples, respectively the date, the description and the guid of a tourney, the second a list of tuples, sorted by total prize: each tuple contains five items, a tuple of players, their total prize, a list of their prizes sorted by date of event, the number of prizes and finally either None or a list of skipped prizes.

serialize(serializer)

Reduce a single championship to a simple dictionary.

Parameters

serializer -- a Serializer instance

Return type

dict

Returns

a plain dictionary containing a flatified view of this championship

skipworstprizes

Number of worst results to skip in computing the ranking.

tourneys

Tourneys in this championship.

trainingboards

When specified, this is the number of boards that players must complete in a “CoronaCarrom” tourney.