Пример #1
0
def create_game_level(number, buyout):
    ''' Creates a GameLevel object '''
    if GameLevel.by_number(number) is not None:
        logging.info("Game level #%s already exists, skipping" % number)
        return GameLevel.by_number(number)
    logging.info("Create Game Level #%s with a buyout of $%s" % (
        number, buyout
    ))
    new_level = GameLevel(
        number=abs(int(number)),
        buyout=abs(int(buyout)),
    )
    game_levels = GameLevel.all()
    game_levels.append(new_level)
    logging.debug("Updating game level linked list ...")
    game_levels = sorted(game_levels)
    index = 0
    for level in game_levels[:-1]:
        level.next_level_id = game_levels[index + 1].id
        dbsession.add(level)
        index += 1
    game_levels[0].number = 0
    dbsession.add(game_levels[0])
    game_levels[-1].next_level_id = None
    dbsession.add(game_levels[-1])
    dbsession.flush()
    return new_level
Пример #2
0
def create_team(name, motto):
    print(INFO + "Create team: " + bold + name + W)
    team = Team(
        name=unicode(name),
        motto=unicode(motto),
    )
    level_0 = GameLevel.all()[0]
    team.game_levels.append(level_0)
    dbsession.add(team)
    dbsession.flush()
    return team
Пример #3
0
def create_team(name, motto):
    print(INFO + "Create team: " + bold + name + W)
    team = Team(
        name=unicode(name),
        motto=unicode(motto),
    )
    level_0 = GameLevel.all()[0]
    team.game_levels.append(level_0)
    dbsession.add(team)
    dbsession.flush()
    return team
Пример #4
0
 def create_team(self):
     ''' Create a new team '''
     assert self.config.public_teams
     team = Team(
         name=unicode(self.get_argument('team_name')[:15]),
         motto=unicode(self.get_argument('motto')[:64]),
     )
     level_0 = GameLevel.all()[0]
     team.game_levels.append(level_0)
     dbsession.add(team)
     dbsession.flush()
     return team
Пример #5
0
def create_team(name, motto):
    if Team.by_name(name) is not None:
        logging.info("Team with name '%s' already exists, skipping" % (name))
        return Team.by_name(name)
    logging.info("Create Team: %s" % name)
    team = Team(
        name=unicode(name[:16]),
        motto=unicode(motto[:32]),
    )
    level_0 = GameLevel.all()[0]
    team.game_levels.append(level_0)
    dbsession.add(team)
    dbsession.flush()
    return team
Пример #6
0
 def create_team(self):
     ''' Create a new team in the database '''
     form = Form(team_name="Enter a team name", motto="Enter a team motto")
     if form.validate(self.request.arguments):
         team = Team(
             name=unicode(self.get_argument('team_name')),
             motto=unicode(self.get_argument('motto')),
         )
         level_0 = GameLevel.all()[0]
         team.game_levels.append(level_0)
         dbsession.add(team)
         dbsession.flush()
         self.redirect('/admin/view/user_objects')
     else:
         self.render("admin/create/team.html", errors=form.errors)
Пример #7
0
 def create_team(self):
     ''' Create a new team in the database '''
     form = Form(team_name="Enter a team name", motto="Enter a team motto")
     if form.validate(self.request.arguments):
         team = Team(
             name=unicode(self.get_argument('team_name')),
             motto=unicode(self.get_argument('motto')),
         )
         level_0 = GameLevel.all()[0]
         team.game_levels.append(level_0)
         dbsession.add(team)
         dbsession.flush()
         self.redirect('/admin/view/user_objects')
     else:
         self.render("admin/create/team.html", errors=form.errors)
Пример #8
0
 def edit_game_level(self):
     ''' Update game level objects '''
     form = Form(
         uuid="Select an object",
         number="Enter a level number",
         buyout="Enter a buyout value",
     )
     if form.validate(self.request.arguments):
         errors = []
         level = GameLevel.by_uuid(self.get_argument('uuid'))
         try:
             new_number = int(self.get_argument('number', 'NaN'))
             new_buyout = int(self.get_argument('buyout', 'NaN'))
             if level.number != new_number and GameLevel.by_number(
                     new_number) is None:
                 level.number = new_number
                 dbsession.add(level)
                 dbsession.flush()
                 # Fix the linked-list
                 game_levels = sorted(GameLevel.all())
                 index = 0
                 for game_level in game_levels[:-1]:
                     game_level.next_level_id = game_levels[index + 1].id
                     dbsession.add(game_level)
                     index += 1
                 game_levels[0].number = 0
                 dbsession.add(game_levels[0])
                 game_levels[-1].next_level_id = None
                 dbsession.add(game_levels[-1])
                 dbsession.flush()
             if GameLevel.by_number(new_number) is not None:
                 errors.append("GameLevel number is not unique")
             if level.buyout != new_buyout:
                 level.buyout = new_buyout
                 dbsession.add(level)
                 dbsession.flush()
         except ValueError:
             errors.append(
                 "That was not a number ... maybe you should go back to school"
             )
         self.render("admin/view/game_levels.html", errors=errors)
     else:
         self.render("admin/view/game_levels.html", errors=form.errors)
Пример #9
0
 def edit_game_level(self):
     ''' Update game level objects '''
     form = Form(
         uuid="Select an object",
         number="Enter a level number",
         buyout="Enter a buyout value",
     )
     if form.validate(self.request.arguments):
         errors = []
         level = GameLevel.by_uuid(self.get_argument('uuid'))
         try:
             new_number = int(self.get_argument('number', 'NaN'))
             new_buyout = int(self.get_argument('buyout', 'NaN'))
             if level.number != new_number and GameLevel.by_number(new_number) is None:
                 level.number = new_number
                 dbsession.add(level)
                 dbsession.flush()
                 # Fix the linked-list
                 game_levels = sorted(GameLevel.all())
                 index = 0
                 for game_level in game_levels[:-1]:
                     game_level.next_level_id = game_levels[index + 1].id
                     dbsession.add(game_level)
                     index += 1
                 game_levels[0].number = 0
                 dbsession.add(game_levels[0])
                 game_levels[-1].next_level_id = None
                 dbsession.add(game_levels[-1])
                 dbsession.flush()
             if GameLevel.by_number(new_number) is not None:
                 errors.append("GameLevel number is not unique")
             if level.buyout != new_buyout:
                 level.buyout = new_buyout
                 dbsession.add(level)
                 dbsession.flush()
         except ValueError:
             errors.append(
                 "That was not a number ... maybe you should go back to school"
             )
         self.render("admin/view/game_levels.html", errors=errors)
     else:
         self.render("admin/view/game_levels.html", errors=form.errors)
Пример #10
0
def create_game_level(level_number, buyout):
    print(INFO + "Create game level " + bold + "#" + str(level_number) + W + \
        " with a buyout of " + bold + "$" + str(buyout) + W)
    new_level = GameLevel(
        number=level_number,
        buyout=buyout,
    )
    game_levels = GameLevel.all()
    game_levels.append(new_level)
    print(INFO + "Updating game level linked list ...")
    game_levels = sorted(game_levels)
    index = 0
    for level in game_levels[:-1]:
        level.next_level_id = game_levels[index + 1].id
        dbsession.add(level)
        index += 1
    game_levels[0].number = 0
    dbsession.add(game_levels[0])
    game_levels[-1].next_level_id = None
    dbsession.add(game_levels[-1])
    dbsession.flush()
    return new_level
Пример #11
0
def create_game_level(level_number, buyout):
    print(INFO + "Create game level " + bold + "#" + str(level_number) + W + \
        " with a buyout of " + bold + "$" + str(buyout) + W)
    new_level = GameLevel(
        number=level_number,
        buyout=buyout,
    )
    game_levels = GameLevel.all()
    game_levels.append(new_level)
    print(INFO + "Updating game level linked list ...")
    game_levels = sorted(game_levels)
    index = 0
    for level in game_levels[:-1]:
        level.next_level_id = game_levels[index + 1].id
        dbsession.add(level)
        index += 1
    game_levels[0].number = 0
    dbsession.add(game_levels[0])
    game_levels[-1].next_level_id = None
    dbsession.add(game_levels[-1])
    dbsession.flush()
    return new_level
Пример #12
0
 def __mklevel__(self, game_level, buyout):
     '''
     Creates a new level in the database, the levels are basically a
     linked-list where each level points to the next, and the last points to
     None.  This function creates a new level and sorts everything based on
     the 'number' attrib
     '''
     new_level = GameLevel(
         number=game_level,
         buyout=buyout,
     )
     game_levels = GameLevel.all()
     game_levels.append(new_level)
     game_levels = sorted(game_levels)
     index = 0
     for level in game_levels[:-1]:
         level.next_level_id = game_levels[index + 1].id
         dbsession.add(level)
         index += 1
     game_levels[0].number = 0
     dbsession.add(game_levels[0])
     game_levels[-1].next_level_id = None
     dbsession.add(game_levels[-1])
     dbsession.flush()
Пример #13
0
 def __mklevel__(self, game_level, buyout):
     '''
     Creates a new level in the database, the levels are basically a
     linked-list where each level points to the next, and the last points to
     None.  This function creates a new level and sorts everything based on
     the 'number' attrib
     '''
     new_level = GameLevel(
         number=game_level,
         buyout=buyout,
     )
     game_levels = GameLevel.all()
     game_levels.append(new_level)
     game_levels = sorted(game_levels)
     index = 0
     for level in game_levels[:-1]:
         level.next_level_id = game_levels[index + 1].id
         dbsession.add(level)
         index += 1
     game_levels[0].number = 0
     dbsession.add(game_levels[0])
     game_levels[-1].next_level_id = None
     dbsession.add(game_levels[-1])
     dbsession.flush()