Пример #1
0
    def add_maps(self, user):
        if self.mappick_team1.choices is None:
            self.mappick_team1.choices = []
        
        mapchoices = config_setting('MAPLIST')

        if self.mappick_team2.choices is None:
            self.mappick_team2.choices = []

        self.mappick_team1.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)

        self.mappick_team2.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)

        self.mappick_bo3.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)
Пример #2
0
class MatchForm(Form):
    server_id = SelectField('Server', coerce=int,
                            validators=[validators.required()])

    match_title = StringField('Match title text',
                              default='Map {MAPNUMBER} of {MAXMAPS}',
                              validators=[validators.Length(min=-1, max=Match.title.type.length)])

    series_type = RadioField('Series type',
                             validators=[validators.required()],
                             default='bo1',
                             choices=[
                                 ('bo1-preset', 'Bo1 with preset map'),
                                 ('bo1', 'Bo1 with map vetoes'),
                                 ('bo2', 'Bo2 with map vetoes'),
                                 ('bo3', 'Bo3 with map vetoes'),
                                 ('bo5', 'Bo5 with map vetoes'),
                                 ('bo7', 'Bo7 with map vetoes'),
                             ])
    side_type = RadioField('Side type',
                             validators=[validators.required()],
                             default='standard',
                             choices=[
                                ('standard', 'Standard: Team that doesn\'t pick map gets side choice'),
                                ('never_knife', 'Never Knife: Team 1 is CT and Team 2 is T.'),
                                ('always_knife', 'Always Knife: Always have knife round.'),
                             ])
    team1_id = SelectField('Team 1', coerce=int,
                           validators=[validators.required()])

    team1_string = StringField('Team 1 title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team1_string.type.length)])

    team2_id = SelectField('Team 2', coerce=int,
                           validators=[validators.required(), different_teams_validator])

    team2_string = StringField('Team 2 title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team2_string.type.length)])

    mapchoices = config_setting('MAPLIST')
    default_mapchoices = config_setting('DEFAULT_MAPLIST')
    veto_mappool = MultiCheckboxField('Map pool',
                                      choices=map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices),
                                      default=default_mapchoices,
                                      validators=[mappool_validator],
                                      )
    veto_first = RadioField('Veto',
                             default='CT',
                             choices=[
                                 ('CT', 'CT gets first veto'),
                                 ('T', 'T get first veto'),
                             ])

    season_selection = SelectField('Season', coerce=int,
                                   validators=[validators.optional()])

    enforce_teams = BooleanField('Enforce Teams',
                                default=True)

    def add_teams(self, user):
        if self.team1_id.choices is None:
            self.team1_id.choices = []

        if self.team2_id.choices is None:
            self.team2_id.choices = []

        team_ids = [team.id for team in user.teams]
        for team in Team.query.filter_by(public_team=True):
            if team.id not in team_ids:
                team_ids.append(team.id)

        team_tuples = []
        for teamid in team_ids:
            team_tuples.append((teamid, Team.query.get(teamid).name))

        self.team1_id.choices += team_tuples
        self.team2_id.choices += team_tuples

    def add_servers(self, user):
        if self.server_id.choices is None:
            self.server_id.choices = []

        server_ids = []
        for s in user.servers:
            if not s.in_use:
                server_ids.append(s.id)

        for s in GameServer.query.filter_by(public_server=True):
            if not s.in_use and s.id not in server_ids:
                server_ids.append(s.id)

        server_tuples = []
        for server_id in server_ids:
            server_tuples.append(
                (server_id, GameServer.query.get(server_id).get_display()))

        self.server_id.choices += server_tuples

    def add_seasons(self):
        if self.season_selection.choices is None:
            self.season_selection.choices = []
        season_tuples = []
        season_tuples.append((0, 'No Season'))
        for seasons in Season.query.filter(Season.end_date >= datetime.now()).order_by(-Season.id):
            season_tuples.append((seasons.id, seasons.name))
        self.season_selection.choices += season_tuples
Пример #3
0
 def test_format_mapname(self):
     self.assertEqual(util.format_mapname('de_inferno'), 'Inferno')
     self.assertEqual(util.format_mapname('de_test'), 'Test')
     self.assertEqual(util.format_mapname('de_dust2'), 'Dust II')
     self.assertEqual(util.format_mapname('de_cbble'), 'Cobblestone')
Пример #4
0
class MatchForm(Form):
    server_id = SelectField('Server', coerce=int,
                            validators=[validators.required()])

    match_title = StringField('Match title text',
                              default='Map {MAPNUMBER} of {MAXMAPS}',
                              validators=[validators.Length(min=-1, max=Match.title.type.length)])

    series_type = RadioField('Series type',
                             validators=[validators.required()],
                             default='bo1',
                             choices=[
                                 ('bo1-preset', 'Bo1 with preset map'),
                                 ('bo1', 'Bo1 with map vetoes'),
                                 ('bo2', 'Bo2 with map vetoes'),
                                 ('bo3', 'Bo3 with map vetoes'),
                                 ('bo5', 'Bo5 with map vetoes'),
                                 ('bo7', 'Bo7 with map vetoes'),
                             ])

    team1_id = SelectField('Team 1', coerce=int,
                           validators=[validators.required()])

    team1_string = StringField('Team 1 title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team1_string.type.length)])

    team2_id = SelectField('Team 2', coerce=int,
                           validators=[validators.required(), different_teams_validator])

    team2_string = StringField('Team 2 title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team2_string.type.length)])

    mapchoices = config_setting('MAPLIST')
    default_mapchoices = config_setting('DEFAULT_MAPLIST')
    veto_mappool = MultiCheckboxField('Map pool',
                                      choices=map(lambda name: (
                                          name, util.format_mapname(name)), mapchoices),
                                      default=default_mapchoices,
                                      validators=[mappool_validator],
                                      )

    def add_teams(self, user):
        if self.team1_id.choices is None:
            self.team1_id.choices = []

        if self.team2_id.choices is None:
            self.team2_id.choices = []

        team_ids = [team.id for team in user.teams]
        for team in Team.query.filter_by(public_team=True):
            if team.id not in team_ids:
                team_ids.append(team.id)

        team_tuples = []
        for teamid in team_ids:
            team_tuples.append((teamid, Team.query.get(teamid).name))

        self.team1_id.choices += team_tuples
        self.team2_id.choices += team_tuples

    def add_servers(self, user):
        if self.server_id.choices is None:
            self.server_id.choices = []

        server_ids = []
        for s in user.servers:
            if not s.in_use:
                server_ids.append(s.id)

        for s in GameServer.query.filter_by(public_server=True):
            if not s.in_use and s.id not in server_ids:
                server_ids.append(s.id)

        server_tuples = []
        for server_id in server_ids:
            server_tuples.append((server_id, GameServer.query.get(server_id).get_display()))

        self.server_id.choices += server_tuples
Пример #5
0
class MatchForm(Form):
    server_id = SelectField('Server', coerce=int,
                            validators=[validators.required()])

    match_title = StringField('Match title text',
                              default='Map {MAPNUMBER} of {MAXMAPS}',
                              validators=[validators.Length(min=-1, max=Match.title.type.length)])

    series_type = RadioField('Series type',
                             validators=[validators.required()],
                             default='bo2',
                             choices=[
                                 ('bo1-preset', 'Bo1 with preset map - (Knife preset, ignore sidepick of teams)'),
                                 ('bo2', 'Bo2 with preset maps - (Sidepick A & B)'),
                                 ('bo3', 'Bo3 with preset maps - (Sidepick A & B + Knife)'),
                             ])

    sidepick_team1 = RadioField('Sidepick Team A for Map 2 (BO2/BO3)',
                                validators=[validators.required()],
                                default='team1_ct',
                                choices =[
                                    ('team1_ct', 'CT'),
                                    ('team1_t', 'T'),
                                ])

    sidepick_team2 = RadioField('Sidepick Team B for Map 1 (BO2/BO3)',
                                validators=[validators.required()],
                                default='team2_ct',
                                choices =[
                                    ('team2_ct', 'CT'),
                                    ('team2_t', 'T'),
                                ])

    team1_id = SelectField('Team A', coerce=int,
                           validators=[validators.required()])

    team1_string = StringField('Team A title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team1_string.type.length)])

    mappick_team1 = SelectField('Mappick Team A')

    team2_id = SelectField('Team B', coerce=int,
                           validators=[validators.required(), different_teams_validator])

    team2_string = StringField('Team B title text',
                               default='',
                               validators=[validators.Length(min=-1,
                                                             max=Match.team2_string.type.length)])

    mappick_team2 = SelectField('Mappick Team B', default='')

    mappick_bo3 = SelectField('Mappick Last Map BO3', default='')

    mapchoices = config_setting('MAPLIST')
    default_mapchoices = config_setting('DEFAULT_MAPLIST')

    veto_mappool = MultiCheckboxField('Map pool',
                                      choices=map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices),
                                      default=default_mapchoices,
                                      )

    def add_teams(self, user):
        if self.team1_id.choices is None:
            self.team1_id.choices = []

        if self.team2_id.choices is None:
            self.team2_id.choices = []

        team_ids = [team.id for team in user.teams]
        for team in Team.query.filter_by(public_team=True):
            if team.id not in team_ids:
                team_ids.append(team.id)

        team_tuples = []
    
        for teamid in team_ids:
            team_tuples.append((teamid, Team.query.get(teamid).name))

        team_tuples.sort(key=lambda tup: tup[1])
        
        self.team1_id.choices += team_tuples
        self.team2_id.choices += team_tuples

    def add_servers(self, user):
        if self.server_id.choices is None:
            self.server_id.choices = []

        server_ids = []
        for s in user.servers:
            if not s.in_use:
                server_ids.append(s.id)

        for s in GameServer.query.filter_by(public_server=True):
            if not s.in_use and s.id not in server_ids:
                server_ids.append(s.id)

        server_tuples = []
        for server_id in server_ids:
            server_tuples.append(
                (server_id, GameServer.query.get(server_id).get_display()))

        self.server_id.choices += server_tuples

    def add_maps(self, user):
        if self.mappick_team1.choices is None:
            self.mappick_team1.choices = []
        
        mapchoices = config_setting('MAPLIST')

        if self.mappick_team2.choices is None:
            self.mappick_team2.choices = []

        self.mappick_team1.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)

        self.mappick_team2.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)

        self.mappick_bo3.choices = map(lambda name: (
                                          name, util.format_mapname(
                                              name)), mapchoices)
Пример #6
0
 def test_format_mapname(self):
     self.assertEqual(util.format_mapname('de_inferno'), 'Inferno')
     self.assertEqual(util.format_mapname('de_test'), 'Test')
     self.assertEqual(util.format_mapname('de_dust2'), 'Dust II')
     self.assertEqual(util.format_mapname('de_cbble'), 'Cobblestone')