Example #1
0
    def __init__(self, id_partida, clase_padre):
        self.id_partida = id_partida
        self.clase_padre = clase_padre
        self.glade = gtk.Builder()
        self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/resultado.glade')
        self.glade.get_object('button10').connect('clicked', self.volver)
        self.glade.get_object('button11').connect('clicked', self.aceptar)

        datos_partida = GestorPartida.get_instance().listar_partidas(id_partida=id_partida)[0]
        self.glade.get_object('checkbutton5').set_label(datos_partida.nombre_local)
        self.glade.get_object('checkbutton5').connect('toggled', self.dinamizar)
        self.glade.get_object('checkbutton6').set_label(datos_partida.nombre_visitante)
        self.glade.get_object('checkbutton6').connect('toggled', self.dinamizar)
        self.permitir_empate = datos_partida.permitir_empate

        if datos_partida.estado == 'Finalizada':
            datos_resultado = GestorPartida.get_instance().listar_resultado(id_partida)
            self.glade.get_object('checkbutton5').set_active(datos_resultado.local_presente)
            self.glade.get_object('checkbutton6').set_active(datos_resultado.visitante_presente)
            self.glade.get_object('spinbutton1').set_value(datos_resultado.resultado_local)
            self.glade.get_object('spinbutton2').set_value(datos_resultado.resultado_visitante)

        self.main_window = self.glade.get_object('gestionar_puntos')
        self.main_window.connect('destroy', self.destroy)
        self.infobar, boton_cerrar = self.agregar_cuadro_error()
        boton_cerrar.connect('clicked', self.cerrar_error)
        self.main_window.show_all()
Example #2
0
    def __init__(self, id_partida, clase_padre):
        self.id_partida = id_partida
        self.clase_padre = clase_padre
        self.glade = gtk.Builder()
        self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/resultado.glade')
        self.glade.get_object('button8').connect('clicked', self.volver)
        self.glade.get_object('button9').connect('clicked', self.aceptar)
        self.glade.get_object('checkbutton3').connect('toggled', self.dinamizar)
        self.glade.get_object('checkbutton4').connect('toggled', self.dinamizar)

        datos_partida = GestorPartida.get_instance().listar_partidas(id_partida=id_partida)[0]
        self.glade.get_object('checkbutton4').set_label(datos_partida.nombre_local)
        self.glade.get_object('checkbutton3').set_label(datos_partida.nombre_visitante)
        self.nombre_local = datos_partida.nombre_local
        self.nombre_visitante = datos_partida.nombre_visitante
        self.cantidad_de_sets = datos_partida.cantidad_de_sets

        self.lista_widgets = [
            {
             'label': self.glade.get_object('label'+str(index+43)),
             'local': self.glade.get_object('entry'+str(index)),
             'visitante': self.glade.get_object('entry'+str(index+9))
            }
                        for index in range(1, 10)]
        for i, widgets in enumerate(self.lista_widgets):
            for widget in widgets.values():
                widget.set_sensitive(i<datos_partida.cantidad_de_sets)
            widgets['local'].connect('changed', self.dinamizar)
            widgets['visitante'].connect('changed', self.dinamizar)
        focus_list = []
        for entry in self.lista_widgets:
            focus_list.append(entry['local'])
            focus_list.append(entry['visitante'])
        self.glade.get_object('table4').set_focus_chain(focus_list)

        if datos_partida.estado == 'Finalizada':
            datos_resultado = GestorPartida.get_instance().listar_resultado(id_partida)
            self.glade.get_object('checkbutton4').set_active(datos_resultado.local_presente)
            self.glade.get_object('checkbutton3').set_active(datos_resultado.visitante_presente)
            for dto_set in datos_resultado.lista_dto_sets:
                self.lista_widgets[dto_set.numero_de_set-1]['local'].set_text(str(dto_set.puntaje_local))
                self.lista_widgets[dto_set.numero_de_set-1]['visitante'].set_text(str(dto_set.puntaje_visitante))

        self.main_window = self.glade.get_object('gestionar_sets')
        self.main_window.connect('destroy', self.destroy)
        self.infobar, boton_cerrar = self.agregar_cuadro_error()
        boton_cerrar.connect('clicked', self.cerrar_error)
        self.main_window.show_all()
Example #3
0
    def __init__(self, id_partida):
        self.id_partida = id_partida
        self.glade = gtk.Builder()
        self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/resultado.glade')
        self.glade.get_object('button5').connect('clicked', self.volver)

        datos_partida = GestorPartida.get_instance().listar_partidas(id_partida=id_partida)[0]
        datos_resultado = GestorPartida.get_instance().listar_resultado(id_partida)
        self.glade.get_object('label36').set_text(datos_partida.nombre_local)
        self.glade.get_object('label37').set_text(datos_partida.nombre_visitante)
        self.glade.get_object('label35').set_text(str(datos_resultado.resultado_local))
        self.glade.get_object('label34').set_text(str(datos_resultado.resultado_visitante))

        self.main_window = self.glade.get_object('resultado_puntos')
        self.main_window.connect('destroy', self.destroy)
        self.main_window.show_all()
Example #4
0
    def aceptar(self, widget):
        local_presente = self.glade.get_object('checkbutton1').get_active()
        visitante_presente = self.glade.get_object('checkbutton2').get_active()

        mensajes_error = []
        if not (local_presente or visitante_presente):
            mensajes_error.append('Debe haber al menos un participante presente.')

        if mensajes_error:
            self.mostrar_error(*mensajes_error)
            return

        local = self.glade.get_object('radiobutton1').get_active()
        empate = self.glade.get_object('radiobutton2').get_active()
        visitante = self.glade.get_object('radiobutton3').get_active()

        arg = tuple()
        if local:
            arg = (1., 0., None)
        elif empate:
            arg = (.5, .5, None)
        elif visitante:
            arg = (0., 1., None)
        dto = DTOResultado(None, self.id_partida, 'porresultadofinal', local_presente, visitante_presente, *arg)
        exito = GestorPartida.get_instance().agregar_resultado(dto)
        if exito is 1:
            Exito(self)
Example #5
0
    def actualizar(self):
        self.cerrar_error(None)
        datos_competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=self.id_competencia)[0]
        self.glade.get_object('NombreCompetencia').set_text(datos_competencia.nombre)
        self.glade.get_object('modalidad').set_text(datos_competencia.tipo)
        self.glade.get_object('deporte').set_text(datos_competencia.deporte)
        self.glade.get_object('estado').set_text(datos_competencia.estado)
        self.estado_competencia = datos_competencia.estado
        self.tipo_competencia = datos_competencia.tipo
        if self.tipo_competencia != 'liga':
            self.glade.get_object('button7').set_sensitive(False)

        lista_de_partidas = GestorPartida.get_instance().listar_partidas(id_competencia = self.id_competencia)
        self.glade.get_object("treeview2").get_model().clear()
        for partida in lista_de_partidas:
            if 'Dummy' in partida.nombre_visitante or 'Dummy' in partida.nombre_local:
                lista_de_partidas.remove(partida)
        nueva_lista = []
        for partida in lista_de_partidas:
            if partida.estado != 'Finalizada':
                nueva_lista.append(partida)
        for partidas in nueva_lista[:5]:
            self.glade.get_object("treeview2").get_model().append([partidas.nombre_local, partidas.nombre_visitante])

        self.main_window.show_all()
Example #6
0
    def __init__(self, id_partida):
        self.id_partida = id_partida
        self.glade = gtk.Builder()
        self.glade.add_from_file(path.dirname( path.abspath(__file__) )+'/glade/resultado.glade')
        self.glade.get_object('button4').connect('clicked', self.volver)

        datos_partida = GestorPartida.get_instance().listar_partidas(id_partida=id_partida)[0]
        datos_resultado = GestorPartida.get_instance().listar_resultado(id_partida)
        self.glade.get_object('label14').set_text(datos_partida.nombre_local)
        self.glade.get_object('label15').set_text(datos_partida.nombre_visitante)

        lista_widgets = [
            {
             'local': self.glade.get_object('label'+str(index)),
             'visitante': self.glade.get_object('label'+str(index+9))
            }
                        for index in range(16, 25)]
        for dto_set in datos_resultado.lista_dto_sets:
            lista_widgets[dto_set.numero_de_set-1]['local'].set_text(str(dto_set.puntaje_local))
            lista_widgets[dto_set.numero_de_set-1]['visitante'].set_text(str(dto_set.puntaje_visitante))

        self.main_window = self.glade.get_object('resultado_sets')
        self.main_window.connect('destroy', self.destroy)
        self.main_window.show_all()
Example #7
0
    def aceptar(self, widget):
        mensajes_error = []

        local_presente = self.glade.get_object('checkbutton4').get_active()
        visitante_presente = self.glade.get_object('checkbutton3').get_active()

        lista_dto_sets = []
        if local_presente and visitante_presente:
            ganadores = []
            lista_sets = self.lista_widgets[:self.cantidad_de_sets]
            for i, diccionario in enumerate(lista_sets):
                if (int(self.cantidad_de_sets)/2+1) in [ganadores.count(True), ganadores.count(False)]:
                    break # Si ya hay un ganador porque el otro no puede darlo vuelta
                valor_local = diccionario['local'].get_text()
                valor_visitante = diccionario['visitante'].get_text()
                if '' in [valor_local, valor_visitante]:
                    if valor_local == '':
                        mensajes_error.append('Debe ingresar un valor para {} en el set {}.'.format(self.nombre_local,i+1))
                    if valor_visitante == '':
                        mensajes_error.append('Debe ingresar un valor para {} en el set {}.'.format(self.nombre_visitante,i+1))
                    continue # Si ocurre un error, salta al proximo elemento de la lista

                puntos_local = int(valor_local)
                puntos_visitante = int(valor_visitante)
                if puntos_local == puntos_visitante:
                    mensajes_error.append('Debe haber un ganador en el set {}.'.format(i+1))
                    continue # Si ocurre un error, salta al proximo elemento de la lista
                lista_dto_sets.append(DTOSet(None, puntos_local, puntos_visitante, i+1))
                ganadores.append(puntos_local>puntos_visitante)

        if not (local_presente or visitante_presente):
            mensajes_error.append('Debe haber al menos un participante presente.')

        if mensajes_error:
            self.mostrar_error(*mensajes_error)
            return

        dto = DTOResultado(None, self.id_partida, 'porsets', local_presente, visitante_presente, None, None,
                           lista_dto_sets)
        exito = GestorPartida.get_instance().agregar_resultado(dto)
        if exito is 1:
            Exito(self)
Example #8
0
    def aceptar(self, widget):
        local = int(self.glade.get_object('spinbutton1').get_value())
        visitante = int(self.glade.get_object('spinbutton2').get_value())

        mensajes_error = []

        local_presente = self.glade.get_object('checkbutton5').get_active()
        visitante_presente = self.glade.get_object('checkbutton6').get_active()
        if not (local_presente or visitante_presente):
            mensajes_error.append('Debe haber al menos un participante presente.')

        if not self.permitir_empate:
            if (local == visitante) and local_presente and visitante_presente:
                mensajes_error.append('En esta competencia no esta permitido el empate.')

        if mensajes_error:
            self.mostrar_error(*mensajes_error)
            return

        dto = DTOResultado(None, self.id_partida, 'porpuntuacion', local_presente, visitante_presente, local, visitante,
                           None)
        exito = GestorPartida.get_instance().agregar_resultado(dto)
        if exito is 1:
            Exito(self)
Example #9
0
    def actualizar(self):
        self.cerrar_error(None)
        combo_instancia = self.glade.get_object('combobox1')
        combo_equipo =  self.glade.get_object('combobox2')

        self.lista_partidas = GestorPartida.get_instance().listar_partidas(id_competencia=self.id_competencia)
        instancias = set()
        equipos = set()
        for dto in self.lista_partidas:
            if 'Dummy' in dto.nombre_local:
                dto.nombre_local = 'Libre'
                dto.ganador = '-'
                continue
            if 'Dummy' in dto.nombre_visitante:
                dto.nombre_visitante = 'Libre'
                dto.ganador = '-'
                continue
            equipos.add(dto.nombre_local)
            equipos.add(dto.nombre_visitante)
            instancias.add('Fecha '+str(dto.instancia))
            try:
                resultado = GestorPartida.get_instance().listar_resultado(dto.id)
            except FaltaDeDatos:
                dto.ganador = 'Sin jugar'
                continue
            if resultado.tipo == 'porresultadofinal':
                if resultado.resultado_local == 1.0:
                    dto.ganador = dto.nombre_local
                elif resultado.resultado_local == 0.0:
                    dto.ganador = dto.nombre_visitante
                else:
                    dto.ganador = 'Empate'
            elif resultado.tipo == 'porpuntuacion':
                if resultado.resultado_local > resultado.resultado_visitante:
                    dto.ganador = dto.nombre_local
                elif resultado.resultado_local < resultado.resultado_visitante:
                    dto.ganador = dto.nombre_visitante
                else:
                    dto.ganador = 'Empate'
            elif resultado.tipo == 'porsets':
                ganadores = []
                for r_set in resultado.lista_dto_sets:
                    ganadores.append(r_set.puntaje_local>r_set.puntaje_visitante)
                if ganadores.count(True) > (dto.cantidad_de_sets/2):
                    dto.ganador = dto.nombre_local
                else:
                    dto.ganador = dto.nombre_visitante
            dto.ganador = 'Ganador: '+dto.ganador if dto.ganador != 'Empate' else dto.ganador

        self.treeview = self.glade.get_object('treeview1')
        self.treeview.get_model().clear()
        for partida in self.lista_partidas:
            self.treeview.get_model().append(['Fecha '+str(partida.instancia), partida.nombre_local,
                                              partida.nombre_visitante, partida.ganador, partida.id])

        combo_instancia.get_model().clear()
        combo_instancia.append_text('<<Todas>>')
        for x in instancias:
            combo_instancia.append_text(x)
        combo_instancia.set_active(0)
        combo_equipo.get_model().clear()
        combo_equipo.append_text('<<Todos>>')
        for x in equipos:
            combo_equipo.append_text(x)
        combo_equipo.set_active(0)

        self.handler_id_instancia = combo_instancia.connect('changed', self.dinamizar)
        self.handler_id_equipo = combo_equipo.connect('changed', self.dinamizar)