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()
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()
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()
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)
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()
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()
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)
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)
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)