Example #1
0
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))
    ]
Example #2
0
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
Example #3
0
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())]