sol.models.championship -- Championships — SoL 4 developers documentation

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

  modified

    Last update timestamp.

  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.