def addstaticdata(): rolerows = Session.query(Role).all() for rolename in [ 'accountadmin', 'aiadmin', 'mapadmin', 'modadmin', 'leagueadmin', 'botrunneradmin', 'requestadmin', 'apiclient' ]: rolefound = False for rolerow in rolerows: if rolerow.role_name == rolename: rolefound = True if not rolefound: role = Role(rolename) Session.add(role) Session.flush()
def applydefaults(): global defaults for key_name in defaults.keys(): configrow = Session.query(Config).filter(Config.config_key == key_name).first() if configrow == None: setValue(key_name, defaults[key_name]) # purge extraneous values for configrow in Session.query(Config): if not defaults.has_key(configrow.config_key): Session.delete(configrow) Session.flush()
def addaiifdoesntexist(ainame, aiversion): ai = getAI(ainame, aiversion) if ai == None: ai_base = Session.query(AIBase).filter(AIBase.ai_base_name == ainame).first() if ai_base == None: ai_base = AIBase(ainame) Session.add(ai_base) Session.flush() ai_base_id = ai_base.ai_base_id try: ai = AI(ai_base_id, aiversion) Session.add(ai) Session.commit() except: print sys.exc_value return(False, "error adding to db: " + str(sys.exc_value)) return (True,'')
def add(self): if not roles.isInRole(roles.leagueadmin): c.message = "You must be logged in as a leagueadmin" return render('genericmessage.html') leagueName = self.form_result["leagueName"] modId = self.form_result["modId"] mapId = self.form_result["mapId"] speed = self.form_result["speed"] softtimeout = self.form_result["softtimeout"] hardtimeout = self.form_result["hardtimeout"] nummatchesperaipair = self.form_result["nummatchesperaipair"] sides = self.form_result["sides"] sidemodes = self.form_result["sidemodes"] playagainstself = self.form_result["playagainstself"] account = Session.query(Account).filter(Account.username == session['user']).first() ais = [] for i in range(Session.query(AI).count()): ai_i = 'ai_checkbox_' + str(i) if (self.form_result.has_key(ai_i)): ais.append(i) league = League(leagueName, account, modId, mapId, nummatchesperaipair, speed, softtimeout, hardtimeout, sides, sidemodes, playagainstself) leagueais = [LeagueAI(ai, league) for ai in ais] Session.add(league) Session.add_all(leagueais) matchrequests = Session.query(MatchRequest).filter(MatchRequest.league_id ==\ league.league_id) matchresults = [req for req in matchrequests if req.matchresult != None] matchscheduler.addLeagueMatches(league, matchrequests, matchresults) Session.flush() Session.commit() redirect(url(controller='league', action='view', id=league.league_id))