sol.models.competitor -- Competitors — SoL 4 developers documentation

# `sol.models.competitor` -- Competitors

class sol.models.competitor.Competitor(**kwargs)

  A single competitor in a game.

  A competitor may be a single person or a team of up to four players, that participate to a given tourney. On each competitor this table keeps the points, the netscore and his bucholz, as well as the final prize. To disambiguate the ranking it maintains also a totscore, the total number of pocketed carrommen summing up competitor' scores in all played games.

  bucholz

    Weight of the opponents (sum of opponents' points and netscore).

  caption(html=None, localized=True, player_caption=None, css_class=None, nationality=False)

    A description of the competitor, made up with the name of each player.

  property description

    A description of the competitor, made up with the name of each player.

  getOpponentsPreceedingTurns(turn)

    List of competitors ID who played against this competitor.

  idcompetitor

    Primary key.

  idplayer1

    First `player`'s ID.

  idplayer2

    Second `player`'s ID.

  idplayer3

    Third `player`'s ID.

  idplayer4

    Fourth `player`'s ID.

  idtourney

    Subscribed `tourney`'s ID.

  property nationality

    Nationality of the first player

  netscore

    Net score (sum of carrommen difference in each match).

  player1

    First `player`.

  property player1FirstName

    First name of the first player

  property player1FullName

    Full name of the first player

  property player1LastName

    Last name of the first player

  property player1Nationality

    Nationality of the first player

  property player1Sex

    Gender of the first player

  player2

    Second `player`.

  property player2FullName

    Full name of the second player

  property player2Nationality

    Nationality of the second player

  player3

    Third `player`.

  property player3FullName

    Full name of the third player

  property player3Nationality

    Nationality of the third player

  player4

    Fourth `player`.

  property player4FullName

    Full name of the fourth player

  property player4Nationality

    Nationality of the fourth player

  points

    Points (number of wins * 2 + number of draws).

  position

    The relative position of this competitor, used to generate the first round in knockout tournaments, overriding their current rate.

  prize

    Final prize.

  property rank

    The position of this competitor in the tourney's ranking.

  property rate

    Rate of this competitor, summing up all players rates

  retired

    A competitor may stop playing in the middle of the tourney.

  serialize(serializer)

    Reduce a single competitor to a simple dictionary.

    Parameters

      serializer -- a `Serializer` instance

    Return type

      dict

    Returns

      a plain dictionary containing a flatified view of this competitor

  totscore

    Total score (sum of carrommen in each match).

  update(data, missing_only=False)

    Update entity with given data.

    Parameters

      - data -- a mapping kind of container

      - missing_only -- a boolean flag, `False` by default

    Return type

      dict

    Returns

      a mapping between field name and a tuple `(oldvalue, newvalue)`, for each modified field

    First call `check_update()` to assert the validity of incoming data, then update the instance fields.

    If missing_only is `True` then only the fields that are currently empty (that is, their value is either `None` or an empty string) are updated. Note that in this case an exception is made for `bool` fields: since in SoL they always have a value (i.e. they are never missing), they are always updated.