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
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
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
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
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)
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)
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)
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
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()