Пример #1
0
    def fx():
        if nome_finestra not in finestre:
            finestra = Toplevel(root)
            finestre[nome_finestra] = finestra
            finestra.grab_set()
            finestra.protocol("WM_DELETE_WINDOW", destroy(finestra))
            finestra.geometry('+250+100')
            finestra.wm_iconbitmap(bitmap='ball.ico')
            finestra.title(nome_finestra)

            Label(finestra, text="Scegli una partita:").grid(row=0, column=0)

            combo_partita = {}
            partita = ttk.Combobox(finestra)
            values = []
            for part in Partita(conndb).collection():
                print part
                label = "{squadra} - {altra_squadra} ({data})".format(**part)
                values.append(label)
                combo_partita[label] = part['id']
            partita['values'] = values
            partita.config(width=max([len(x) for x in values]))
            # if values:
            # partita.insert(0, values[-1])
            # partita.current(0)
            partita.grid(row=0, column=1, columnspan=12)
            partita.bind("<<ComboboxSelected>>", popola_giocatori(conndb, finestra, partita, combo_partita))
Пример #2
0
 def fx():
     obj_gui = punteggi_giocatori[(nome_giocatore, codice_evento)]
     punti = int(obj_gui.cget('text'))
     punti += delta
     if punti < 0:
         punti = 0
     obj_gui.config(text=punti)
     if delta == 1:
         DettaglioPartita(conndb).set_data(id_partita=id_partita,
                                           giocatore=nome_giocatore,
                                           evento=codice_evento,
                                           time=timer.cget('text')
         ).save()
         Partita(conndb).load(id_partita).set('timer', timer.cget('text')).save()
     elif delta == -1:
         c = DettaglioPartita(conndb).collection(where_sql='id_partita = ? AND giocatore = ? AND evento = ?',
                                                 vals=(
                                                     id_partita,
                                                     nome_giocatore,
                                                     codice_evento
                                                 ),
                                                 orderby="time DESC"
         )
         if c:
             print c[0]
             DettaglioPartita(conndb).set_key(c[0]['id']).delete()
Пример #3
0
def get_punti(conndb, partita, giocatore, evento):
    c = DettaglioPartita(conndb).collection(where_sql='id_partita = ? AND giocatore = ? AND evento = ?',
                                            vals=(
                                                partita.get(Partita.get_key()),
                                                giocatore.get('nome'),
                                                evento.get('codice')
                                            )
    )
    return len(c)
Пример #4
0
def get_risultato(conndb, model_partita):
    # @todo calcolare il punteggio altra_squadra
    ret = 0
    c = DettaglioPartita(conndb).collection(where_sql='id_partita = ?',
                                            vals=(
                                                model_partita.get(Partita.get_key()),
                                            )
    )
    for rec in c:
        e = Evento(conndb).load(rec['evento'])
        ret += int(e.get('punti'))
    return "%i - 0" % ret
Пример #5
0
    def fx(tk_event):
        print len(oggetti_gui)
        while oggetti_gui:  # vuota la finestra dei cotnrolli qui creati
            oggetti_gui.pop().destroy()
        while punteggi_giocatori:  # vuota i punteggi giocatori
            fk = punteggi_giocatori.keys()[0]
            punteggi_giocatori.pop(fk)
        model_partita = Partita(conndb).load(combo_partita[partita.get()])
        # print combo_partita[partita.get()], model_partita.get_data()
        # squadra = Squadra(conndb).load(model_partita.get('squadra'))

        # TIMER
        timer_value = model_partita.get('timer')
        if not timer_value:
            timer_value = "00:00"
        timer = Label(finestra, text=timer_value, bg='black', fg='red', font=("Helvetica", 16))
        timer.grid(row=0, column=15, columnspan=3)
        timer.running = False
        oggetti_gui.append(timer)

        play_gif = PhotoImage(file='play.gif')
        pause_gif = PhotoImage(file='pause.gif')
        reset_gif = PhotoImage(file='reset.gif')

        play_button = Button(finestra, image=play_gif, command=start_timer(timer))
        play_button.grid(row=0, column=18)
        play_button.image = play_gif
        oggetti_gui.append(play_button)

        button = Button(finestra, image=pause_gif, command=pause_timer(timer))
        button.grid(row=0, column=20)
        button.image = pause_gif
        oggetti_gui.append(button)

        button = Button(finestra, image=reset_gif, command=reset_timer(timer))
        button.grid(row=0, column=21)
        button.image = reset_gif
        oggetti_gui.append(button)

        # FINE TIMER

        # RISULTATO
        l = Label(finestra, text='Risultato :')
        l.grid(row=0, column=23, columnspan=3)
        oggetti_gui.append(l)
        g = get_risultato(conndb, model_partita)
        l = Label(finestra, text=g, bg='black', fg='red', font=("Helvetica", 16))
        l.grid(row=0, column=26, columnspan=3)
        oggetti_gui.append(l)
        # FINE RISULTATO

        giocatori = Giocatore(conndb).collection(where_sql="squadra = ?", vals=(model_partita.get('squadra'), ))
        l = Label(finestra, text='Nome')
        l.grid(row=1, column=0)
        oggetti_gui.append(l)
        l = Label(finestra, text='Ruolo', background='white')
        l.grid(row=1, column=1, sticky=W + E + N + S)
        oggetti_gui.append(l)
        first = True
        moltiplicatore = 3
        ox, oy = 2, 2
        for y, giocatore in enumerate(giocatori):
            l = Label(finestra, text=giocatore['nome'])
            l.grid(row=y * 2 + oy, column=0, rowspan=2)
            oggetti_gui.append(l)
            l = Label(finestra, text=giocatore['ruolo'], background='white')
            l.grid(row=y * 2 + oy, column=1, rowspan=2, sticky=W + E + N + S)
            oggetti_gui.append(l)
            for x, evento in enumerate(eventi):
                # print evento
                if first:
                    # label degli eventi
                    l = Label(finestra,
                              text=evento['nome'],
                              background=evento.get('colore_fondo', '')
                    )
                    l.grid(row=1, column=ox + (x * moltiplicatore), sticky=W + E + N + S, columnspan=moltiplicatore - 1)
                    oggetti_gui.append(l)
                    l = Label(finestra,
                              image=pixel,
                              background='black',
                              width=1)
                    l.image = pixel
                    l.grid(row=1, column=ox + (x * moltiplicatore) + 2, sticky=W + E + N + S, rowspan=2)
                    oggetti_gui.append(l)
                # bottoni degli eventi
                gif = PhotoImage(file=evento.get('icona', 'ball.gif'))
                b = Button(finestra,
                           image=minus,
                           background=evento.get('colore_fondo', ''),
                           command=segnapunto(conndb,
                                              punteggi_giocatori,
                                              model_partita.get(Partita.get_key()),
                                              giocatore['nome'],
                                              evento['codice'],
                                              timer,
                                              -1)
                )
                b.grid(row=y * 2 + oy, column=x * moltiplicatore + ox, sticky=E + W)
                b.minus = minus
                oggetti_gui.append(b)
                b = Button(finestra,
                           image=gif,
                           background=evento.get('colore_fondo', ''),
                           command=segnapunto(conndb,
                                              punteggi_giocatori,
                                              model_partita.get(Partita.get_key()),
                                              giocatore['nome'],
                                              evento['codice'],
                                              timer)
                )
                b.grid(row=y * 2 + oy, column=x * moltiplicatore + ox + 1, sticky=E + W)
                b.image = gif
                oggetti_gui.append(b)
                punti = get_punti(conndb, model_partita, giocatore, evento)
                l = Label(finestra,
                          text=punti,
                          background=evento.get('colore_fondo', '')
                )
                l.grid(row=y * 2 + oy + 1, column=x * moltiplicatore + ox, sticky=W + E + N + S, columnspan=2)
                oggetti_gui.append(l)
                punteggi_giocatori[(giocatore['nome'], evento['codice'])] = l
                l = Label(finestra, image=pixel, width=1, background='black')
                l.grid(row=y * 2 + oy, column=x * moltiplicatore + ox + 2, sticky=W + E + N + S, rowspan=2)
                oggetti_gui.append(l)
            first = False
Пример #6
0
def schema(conndb):
    if len(Evento(conndb).collection_keys()) == 0:
        Evento(conndb).set('codice', 'ed') \
            .set('nome', 'errore difesa') \
            .set('punti', 0) \
            .set('icona', 'cancel.gif') \
            .set('colore_fondo', 'red') \
            .set('position', 10) \
            .save()
        Evento(conndb).set_data(codice='goal9',
                                nome='GOAL9',
                                icona='ball.gif',
                                punti=1,
                                colore_fondo='green',
                                position=20
        ).save()
        Evento(conndb).set_data(codice='goal6',
                                nome='GOAL6',
                                icona='ball.gif',
                                punti=1,
                                colore_fondo='green',
                                position=30
        ).save()
        Evento(conndb).set_data(codice='goalcontro',
                                nome='GOAL C',
                                icona='ball.gif',
                                punti=1,
                                colore_fondo='green',
                                position=40
        ).save()
        Evento(conndb).set_data(codice='goalrigore',
                                nome='GOAL R',
                                icona='ball.gif',
                                punti=1,
                                colore_fondo='green',
                                position=50
        ).save()
        Evento(conndb).set_data(codice='errore9',
                                nome='ERRORE GOAL9',
                                icona='cancel.gif',
                                punti=0,
                                colore_fondo='red',
                                position=60
        ).save()
        Evento(conndb).set_data(codice='errore6',
                                nome='ERRORE GOAL6',
                                icona='cancel.gif',
                                punti=0,
                                colore_fondo='red',
                                position=70
        ).save()
        Evento(conndb).set_data(codice='errorecontro',
                                nome='ERRORE GOAL C',
                                icona='cancel.gif',
                                punti=0,
                                colore_fondo='red',
                                position=80
        ).save()
        Evento(conndb).set_data(codice='errorerigorre',
                                nome='ERRORE GOAL R',
                                icona='cancel.gif',
                                punti=0,
                                colore_fondo='red',
                                position=90
        ).save()
        Evento(conndb).set_data(codice='pallarec',
                                nome='PR',
                                icona='angularbracket.gif',
                                punti=0,
                                colore_fondo='white',
                                position=100
        ).save()
        Evento(conndb).set_data(codice='erroretec',
                                nome='ET',
                                icona='cancel.gif',
                                punti=0,
                                colore_fondo='red',
                                position=110
        ).save()
        Evento(conndb).set_data(codice='ammonizione',
                                nome='AM',
                                icona='angularbracket.gif',
                                punti=0,
                                colore_fondo='yellow',
                                position=120
        ).save()
        Evento(conndb).set_data(codice='2min',
                                nome='2M',
                                icona='angularbracket.gif',
                                punti=0,
                                colore_fondo='red',
                                position=130
        ).save()
        Evento(conndb).set_data(codice='assist',
                                nome='AS',
                                icona='angularbracket.gif',
                                punti=0,
                                colore_fondo='white',
                                position=140
        ).save()
    if len(Squadra(conndb).collection_keys()) == 0:
        Squadra(conndb).set_data(nome='casalgrande', genere='maschile').save()
        Squadra(conndb).set_data(nome='pratisollo', genere='maschile').save()
    if len(Giocatore(conndb).collection_keys()) == 0:
        Giocatore(conndb).set_data(nome='prova 1',
                                   squadra='casalgrande',
                                   numero='00',
                                   ruolo='-'
        ).save()
        Giocatore(conndb).set_data(nome='prova 2',
                                   squadra='casalgrande',
                                   numero='01',
                                   ruolo='-'
        ).save()
        Giocatore(conndb).set_data(nome='prova 3',
                                   squadra='casalgrande',
                                   numero='02',
                                   ruolo='-'
        ).save()
        Giocatore(conndb).set_data(nome='prova 4',
                                   squadra='casalgrande',
                                   numero='03',
                                   ruolo='portiere'
        ).save()
        Giocatore(conndb).set_data(nome='prova 5',
                                   squadra='pratissolo',
                                   numero='00',
                                   ruolo='-'
        ).save()
    if len(Partita(conndb).collection_keys()) == 0:
        # .set('risultato_primo_tempo', '0-0') \
        # .set('risultato_secondo_tempo', '0-0') \
        Partita(conndb).set('squadra', 'casalgrande') \
            .set('altra_squadra', 'montegrotto') \
            .set('data', '01-01-2015') \
            .set('risultato_finale', '0-0') \
            .set('timer', '00:00') \
            .save()
        Partita(conndb).set('squadra', 'pratissolo') \
            .set('altra_squadra', 'montegrotto') \
            .set('data', '01-02-2015') \
            .set('risultato_finale', '0-0') \
            .set('timer', '00:00') \
            .save()
    if len(DettaglioPartita(conndb).collection_keys()) == 0:
        DettaglioPartita(conndb).set_data(id_partita=1,
                                          giocatore='prova 1',
                                          evento='goal6',
                                          time='00:00'
                                          # tempo="primo"
        ).save()