Example #1
0
def editScoresKF(m):  
    [now,tomorrow]=getTiming()
    form_R16 = GamesR16Form(request.form)
    form_QF= GamesQFForm(request.form)
    form_SF= GamesSFForm(request.form)
    form_F= GamesFForm(request.form)
    form=request.form

    save=[None,m,[]] #later save[2] will be expanded with the games with integer errors
    #later save[3] is the amount of saved games 
    saved_MD4=0
    saved_MD5=0
    saved_MD6=0
    saved_MD7=0
    user=User.query.filter_by(userName=session['userName']).first()
    user_id=db.session.query(User).filter_by(userName=session['userName']).first().user_id
    games=db.session.query(Games).filter_by(groep='N/A').all()


    if request.method =='POST':  
        error=None
        thisScores=[['','']]*len(list(games))
        if user.activated==True:
            for item in request.form:
                if request.form[item]!='' and request.form[item]!=u'':
                    try: 
                        int(request.form[item])
                        if int(request.form[item])<0:
                            save[0]=False
                            save[2].append(int(item[8:10]))  
                    except:
                        save[0]=False
                        save[2].append(int(item[8:10]))   
                    
            if save[0]!=False:
                save[0]=True
                
            save[2].sort()
            
            if save[0]==True: 
    #           #Update
                try:
                    getScoresKF(form,user,user_id)
                except:
                    "nooo"
    
                scores=db.session.query(Scores).filter_by(userName=user.userName)\
                                   .filter_by(groep='N/A').all()
                                   
                [thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7]=updateScoreFormsKP(scores,\
                                                        thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7)
                        
                            
            else: #IN THIS CASE THERE IS AN ERROR INPUT, A NON-INTEGER (however '' or u'' are not errored)
                thisScores=[['','']]*len(list(games))
                scores=db.session.query(Scores).filter_by(userName=user.userName)\
                                   .filter_by(groep='N/A').all()
                [saved_MD4,saved_MD5,saved_MD6,saved_MD7]=updateScoreFormsWithErrorKP(scores,\
                                                        saved_MD4,saved_MD5,saved_MD6,saved_MD7)
                for item in request.form:
                    if str(item)[6]=='4':
                        if item[11] == 'l':
                            thisScores[int(item[8:10])-1]=[request.form[item],thisScores[int(item[8:10])-1][1]]
                        elif item[11] == 'r':
                            thisScores[int(item[8:10])-1]=[thisScores[int(item[8:10])-1][0],request.form[item]]
                    if str(item)[6]=='5':
                        if item[11] == 'l':
                            thisScores[int(item[8:10])-1+8]=[request.form[item],thisScores[int(item[8:10])-1+8][1]]
                        elif item[11] == 'r':
                            thisScores[int(item[8:10])-1+8]=[thisScores[int(item[8:10])-1+8][0],request.form[item]]
                    if str(item)[6]=='6':
                        if item[11] == 'l':
                            thisScores[int(item[8:10])-1+12]=[request.form[item],thisScores[int(item[8:10])-1+12][1]]
                        elif item[11] == 'r':
                            thisScores[int(item[8:10])-1+12]=[thisScores[int(item[8:10])-1+12][0],request.form[item]]
                    if str(item)[6]=='7':
                        if item[11] == 'l':
                            thisScores[int(item[8:10])-1+14]=[request.form[item],thisScores[int(item[8:10])-1+14][1]]
                        elif item[11] == 'r':
                            thisScores[int(item[8:10])-1+14]=[thisScores[int(item[8:10])-1+14][0],request.form[item]]
            
        else: #NOT ACTIVATED YET
            error=""" Your account is not yet activated. You can checkout the app, but your input won't be saved
                      since the payment is not yet confirmed."""
                      
        games_R16=db.session.query(Games).filter_by(fase='R16').all()
        games_R16.sort(key=lambda x: (x.date,x.time))
        games_QF=db.session.query(Games).filter_by(fase='QF').all()
        games_QF.sort(key=lambda x: (x.date,x.time))
        games_SF=db.session.query(Games).filter_by(fase='SF').all()
        games_SF.sort(key=lambda x: (x.date,x.time))
        games_F=db.session.query(Games).filter_by(fase='F').all()
        games_F.sort(key=lambda x: (x.date,x.time))

        for item in games:
            if item.date <= now.date():
                item.deadlinePassed=True
            else:
                item.deadlinePassed=False
            item.date=datetime.datetime.strftime(item.date, "%A-%d %B %Y").split('-')
            item.time=str(item.time)[0:5].replace(':','h') 
                
              
        return render_template('editScoresKF.html', form_R16=form_R16,form_QF=form_QF,form_SF=form_SF,\
                    form_F=form_F,save=save,scores=thisScores,\
                    saved_MD4=saved_MD4,saved_MD5=saved_MD5,saved_MD6=saved_MD6,saved_MD7=saved_MD7,\
                    games_R16=games_R16,games_QF=games_QF,games_SF=games_SF,games_F=games_F,error=error)
                    
        
    if request.method == 'GET':
        error=None
        scores=db.session.query(Scores).filter_by(userName=user.userName)\
                               .filter_by(groep='N/A').all()
                               
        thisScores=[['','']]*len(list(games))
                     
        [thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7]=updateScoreFormsKP(scores,\
                                                    thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7)
        games_R16=db.session.query(Games).filter_by(fase='R16').all()
        games_R16.sort(key=lambda x: (x.date,x.time))
        games_QF=db.session.query(Games).filter_by(fase='QF').all()
        games_QF.sort(key=lambda x: (x.date,x.time))
        games_SF=db.session.query(Games).filter_by(fase='SF').all()
        games_SF.sort(key=lambda x: (x.date,x.time))
        games_F=db.session.query(Games).filter_by(fase='F').all()
        games_F.sort(key=lambda x: (x.date,x.time))
        
        for item in games:
            if item.date <= now.date():
                item.deadlinePassed=True
            else:
                item.deadlinePassed=False
            
            item.date=datetime.datetime.strftime(item.date, "%A-%d %B %Y").split('-')
            item.time=str(item.time)[0:5].replace(':','h')
            
        
        return render_template('editScoresKF.html', form_R16=form_R16,form_QF=form_QF,form_SF=form_SF,\
                    form_F=form_F,save=save,scores=thisScores,\
                    saved_MD4=saved_MD4,saved_MD5=saved_MD5,saved_MD6=saved_MD6,saved_MD7=saved_MD7,\
                    games_R16=games_R16,games_QF=games_QF,games_SF=games_SF,games_F=games_F,error=error)
Example #2
0
def enterScoresKP(m):
    form_R16 = GamesR16Form(request.form)
    form_QF= GamesQFForm(request.form)
    form_SF= GamesSFForm(request.form)
    form_F= GamesFForm(request.form)
    form=request.form

    save=[None,m,[]] #later save[2] will be expanded with the games with integer errors
    #later save[3] is the amount of saved games 
    saved_MD4=0
    saved_MD5=0
    saved_MD6=0
    saved_MD7=0

    games=db.session.query(Games).filter_by(groep='N/A').all()

    if request.method =='POST':        
        for item in request.form:
            if request.form[item]!='' and request.form[item]!=u'':
                try: 
                    int(request.form[item])

                except:
                    save[0]=False
                    save[2].append(int(item[8:10]))   
                
        if save[0]!=False:
            save[0]=True
            
        save[2].sort()
        
        if save[0]==True: 
#           #Update
            for i in range(len(games)):    
                if str(games[i].game)[2]==str(list(form)[0])[6]:  #4/5/6 or 7   
                    score_left  = form['scoreM{0}_{1}_left'.format(str(list(form)[0])[6], str(games[i].game)[5:7])] 
                    score_right = form['scoreM{0}_{1}_right'.format(str(list(form)[0])[6], str(games[i].game)[5:7])] 
                                    
                    score=str(score_left)+'-'+str(score_right)
                    db.session.query(Games).filter_by(game=games[i].game).update({Games.score: score})
                    db.session.commit()

                               
            thisScores=[['','']]*len(list(games))
            [thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7]=updateScoreFormsKP(games,\
                                                    thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7)
                    
                        
        else: #IN THIS CASE THERE IS AN ERROR INPUT, A NON-INTEGER (however '' or u'' are not errored)
            thisScores=[['','']]*len(list(games))
            for item in request.form:
                if item[11] == 'l':
                    thisScores[int(item[8:10])-1]=[request.form[item],thisScores[int(item[8:10])-1][1]]
                elif item[11] == 'r':
                    thisScores[int(item[8:10])-1]=[thisScores[int(item[8:10])-1][0],request.form[item]]
        
        games_R16=db.session.query(Games).filter_by(fase='R16').all()
        games_QF=db.session.query(Games).filter_by(fase='QF').all()
        games_SF=db.session.query(Games).filter_by(fase='SF').all()
        games_F=db.session.query(Games).filter_by(fase='F').all()
        
        for item in games:
            item.date=datetime.datetime.strftime(item.date, "%A-%d %B %Y").split('-')
            item.time=str(item.time)[0:5].replace(':','h') 
                
              
        return render_template('enterScoresKP.html', form_R16=form_R16,form_QF=form_QF,form_SF=form_SF,\
                    form_F=form_F,save=save,scores=thisScores,\
                    saved_MD4=saved_MD4,saved_MD5=saved_MD5,saved_MD6=saved_MD6,saved_MD7=saved_MD7,\
                    games_R16=games_R16,games_QF=games_QF,games_SF=games_SF,games_F=games_F)
                    
        
    if request.method == 'GET':
                                     
        thisScores=[['','']]*len(list(games))
                     
        [thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7]=updateScoreFormsKP(games,\
                                                    thisScores,saved_MD4,saved_MD5,saved_MD6,saved_MD7)

        games_R16=db.session.query(Games).filter_by(fase='R16').all()
        games_QF=db.session.query(Games).filter_by(fase='QF').all()
        games_SF=db.session.query(Games).filter_by(fase='SF').all()
        games_F=db.session.query(Games).filter_by(fase='F').all()
        
        for item in games:
            item.date=datetime.datetime.strftime(item.date, "%A-%d %B %Y").split('-')
            item.time=str(item.time)[0:5].replace(':','h')
            
        return render_template('enterScoresKP.html', form_R16=form_R16,form_QF=form_QF,form_SF=form_SF,\
                    form_F=form_F,save=save,scores=thisScores,\
                    saved_MD4=saved_MD4,saved_MD5=saved_MD5,saved_MD6=saved_MD6,saved_MD7=saved_MD7,\
                    games_R16=games_R16,games_QF=games_QF,games_SF=games_SF,games_F=games_F)