def create_game_level(self): """ 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 """ try: new_level = GameLevel() new_level.number = self.get_argument("level_number", "") new_level.buyout = self.get_argument("buyout", 0) new_level.name = self.get_argument("name", None) new_level._type = self.get_argument("type", "buyout") new_level._reward = self.get_argument("reward", 0) if new_level._type == "progress": new_level.buyout = min(new_level.buyout, 100) elif new_level._type == "none": new_level.buyout = 0 if new_level._type != "none" and new_level.buyout == 0: new_level._type = "none" self.dbsession.add(new_level) self.dbsession.flush() game_levels = sorted(GameLevel.all()) for index, level in enumerate(game_levels[:-1]): level.next_level_id = game_levels[index + 1].id self.dbsession.add(level) if game_levels[0].number != 0: game_levels[0].number = 0 self.dbsession.add(game_levels[0]) game_levels[-1].next_level_id = None self.dbsession.add(game_levels[-1]) self.dbsession.commit() self.redirect("/admin/view/game_levels") except ValidationError as error: self.render("admin/create/game_level.html", errors=[str(error)])
def create_game_level(self): ''' 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 ''' try: new_level = GameLevel() new_level.number = self.get_argument('level_number', '') new_level.buyout = self.get_argument('buyout', '') self.dbsession.add(new_level) self.dbsession.flush() game_levels = sorted(GameLevel.all()) for index, level in enumerate(game_levels[:-1]): level.next_level_id = game_levels[index + 1].id self.dbsession.add(level) if game_levels[0].number != 0: game_levels[0].number = 0 self.dbsession.add(game_levels[0]) game_levels[-1].next_level_id = None self.dbsession.add(game_levels[-1]) self.dbsession.commit() self.redirect('/admin/view/game_levels') except ValidationError as error: self.render('admin/create/game_level.html', errors=[ str(error), ])
def create_game_level(self): ''' 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 ''' try: new_level = GameLevel() new_level.number = self.get_argument('level_number', '') new_level.buyout = self.get_argument('buyout', 0) new_level.name = self.get_argument('name', None) new_level._type = self.get_argument('type', 'buyout') new_level._reward = self.get_argument('reward', 0) if new_level._type == "progress": new_level.buyout = min(new_level.buyout, 100) elif new_level._type == "none": new_level.buyout = 0 if new_level._type != "none" and new_level.buyout == 0: new_level._type = "none" self.dbsession.add(new_level) self.dbsession.flush() game_levels = sorted(GameLevel.all()) for index, level in enumerate(game_levels[:-1]): level.next_level_id = game_levels[index + 1].id self.dbsession.add(level) if game_levels[0].number != 0: game_levels[0].number = 0 self.dbsession.add(game_levels[0]) game_levels[-1].next_level_id = None self.dbsession.add(game_levels[-1]) self.dbsession.commit() self.redirect('/admin/view/game_levels') except ValidationError as error: self.render('admin/create/game_level.html', errors=[str(error), ])
def _make_level(self, level_number): ''' 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() new_level.number = level_number new_level.buyout = self.get_argument('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 self.dbsession.add(level) index += 1 game_levels[0].number = 0 self.dbsession.add(game_levels[0]) game_levels[-1].next_level_id = None self.dbsession.add(game_levels[-1]) self.dbsession.commit()