Esempio n. 1
0
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()
Esempio n. 2
0
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()
Esempio n. 3
0
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,'')
Esempio n. 4
0
    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))