class Region(orm.Document): collection_name = 'regions' fields = [ ('id', orm.StringField(required=True, load_from=MONGO_ID_SELECTOR, dump_to=MONGO_ID_SELECTOR)), ('display_name', orm.StringField(required=True)), ('ranking_num_tourneys_attended', orm.IntField(required=True, default=2)), ('ranking_activity_day_limit', orm.IntField(required=True, default=60)), ('tournament_qualified_day_limit', orm.IntField(required=True, default=999)) ]
class Match(orm.Document): collection_name = None fields = [('match_id', orm.IntField(required=True)), ('winner', orm.ObjectIDField(required=True)), ('loser', orm.ObjectIDField(required=True)), ('excluded', orm.BooleanField(required=True, default=False))] def __str__(self): return "%s > %s" % (self.winner, self.loser) def contains_players(self, player1, player2): return (self.winner == player1 and self.loser == player2) or \ (self.winner == player2 and self.loser == player1) def contains_player(self, player_id): return self.winner == player_id or self.loser == player_id def did_player_win(self, player_id): return self.winner == player_id def get_opposing_player_id(self, player_id): if self.winner == player_id: return self.loser elif self.loser == player_id: return self.winner else: return None
class RankingEntry(orm.Document): collection_name = None fields = [('player', orm.ObjectIDField(required=True)), ('rank', orm.IntField(required=True)), ('rating', orm.FloatField(required=True)), ('previous_rank', orm.IntField())]