def guardar_piloto(self, nombre): piloto = self.__piloto_activo if piloto != None: datos = {} if piloto.obtener_datos()["nombre"] != nombre: datos["nombre"] = nombre if self.__foto != None and piloto.obtener_datos()["foto"] != self.__foto: datos["foto"] = self.__foto if (self.__fecha_nacimiento != None) and (piloto.obtener_datos()["nacimiento"] != self.__fecha_nacimiento): datos["nacimiento"] = self.__fecha_nacimiento try: piloto.establecer_datos(datos) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos() return True except: return False else: try: piloto_nuevo = Facade.nuevo_piloto(nombre) datos = {} if self.__foto != None: datos["foto"] = self.__foto if self.__fecha_nacimiento != None: datos["nacimiento"] = self.__fecha_nacimiento if len(datos) > 0: piloto_nuevo.establecer_datos(datos) self.__temporada_activa.anadir_piloto(piloto_nuevo) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos() return True except: return False
def guardar_gp(self, nombre, circuito, vueltas): gp = self.__gp_activo if gp != None: datos = {} if gp.obtener_datos()["nombre"] != nombre: datos["nombre"] = nombre if gp.obtener_datos()["lugar"] != circuito: datos["lugar"] = circuito if (self.__fecha_inicio != None) and (gp.obtener_datos()["inicio"] != self.__fecha_inicio): datos["inicio"] = self.__fecha_inicio if (self.__fecha_fin != None) and (gp.obtener_datos()["fin"] != self.__fecha_fin): datos["fin"] = self.__fecha_fin if gp.obtener_datos()["n_vueltas_gp"] != vueltas: datos["n_vueltas_gp"] = vueltas try: if datos != {}: gp.establecer_datos(datos) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos() return (True, False) except: return (False, False) else: try: gp_nuevo = Facade.nuevo_GP(nombre, circuito, self.__fecha_inicio, self.__fecha_fin, vueltas) self.__temporada_activa.anadir_GP(gp_nuevo) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos() return (True, True) except: return (False, True)
def guardar_reglas(self): datos = {"tabla_puntos": self.__reglas} temporada = self.__obtener_temporada() if temporada: try: temporada.establecer_datos(datos) Facade.almacenar_temporada(temporada) return True except: return False else: self.__reglas_temporada_sin_guardar = self.__reglas return True
def guardar_resultados(self, numero_vueltas, ventana_correcto): pilotos = self.get_temporada_activa().obtener_lista_pilotos() pilotos_ordenados = [] for w in self.__widget_piloto: nombre_piloto = w[0].get_active_text() for p in pilotos: if p.obtener_datos()["nombre"] == nombre_piloto: pilotos_ordenados.append(p) if self.__editando == "clasificacion": self.__obtener_gp_activo().establecer_parrilla(pilotos_ordenados) elif self.__editando == "carrera": self.__obtener_gp_activo().establecer_resultado(pilotos_ordenados, numero_vueltas) Facade.almacenar_temporada(self.get_temporada_activa()) ventana_correcto.run()
def guardar_temporada(self, nombre, nombre_corto, pilotos_gp, pilotos_parrilla): temporada_a_actualizar = None for t in self.__temporadas: if t.obtener_datos()["nombre_corto"] == nombre_corto: temporada_a_actualizar = t if temporada_a_actualizar != None: datos = {} if temporada_a_actualizar.obtener_datos()["nombre"] != nombre: datos["nombre"] = nombre if temporada_a_actualizar.obtener_datos()["nombre_corto"] != nombre_corto: datos["nombre_corto"] = nombre_corto if (self.__fecha_inicio != None) and ( temporada_a_actualizar.obtener_datos()["inicio"] != self.__fecha_inicio ): datos["inicio"] = self.__fecha_inicio if (self.__fecha_fin != None) and (temporada_a_actualizar.obtener_datos()["fin"] != self.__fecha_fin): datos["fin"] = self.__fecha_fin if temporada_a_actualizar.obtener_datos()["n_pilotos_gp"] != pilotos_gp: datos["n_pilotos_gp"] = pilotos_gp if temporada_a_actualizar.obtener_datos()["n_pilotos_parrilla"] != pilotos_parrilla: datos["n_pilotos_parrilla"] = pilotos_parrilla try: temporada_a_actualizar.establecer_datos(datos) Facade.almacenar_temporada(temporada_a_actualizar) self.actualizar_datos() return True except: return False else: temporada_nueva = Facade.nueva_temporada(nombre, nombre_corto) datos = {} datos["inicio"] = self.__fecha_inicio datos["fin"] = self.__fecha_fin datos["n_pilotos_gp"] = pilotos_gp datos["n_pilotos_parrilla"] = pilotos_parrilla if self.__reglas_temporada_sin_guardar != []: datos["tabla_puntos"] = self.__reglas_temporada_sin_guardar temporada_nueva.establecer_datos(datos) Facade.almacenar_temporada(temporada_nueva) self.actualizar_datos() return True
gp01.establecer_parrilla([ vettel, massa, alonso, hamilton, rosberg, webber, schumacher, button, kubica, sutil, barrichello, liuzzi, hulkenberg, delarosa, buemi, kobayashi, petrov, alguersuari, glock, trulli, kovalainen, digrassi, senna, chandhok ]) gp01.establecer_resultado([alonso, massa, hamilton, vettel, rosberg, schumacher, button, webber, liuzzi, barrichello, kubica, sutil, alguersuari, hulkenberg, kovalainen, buemi, trulli, delarosa, senna, glock, petrov, kobayashi, digrassi, chandhok], 49) gp02.establecer_parrilla([ kubica, massa, sutil, hamilton, rosberg, webber, schumacher, button, alonso, vettel, barrichello, liuzzi, hulkenberg, delarosa, buemi, kobayashi, petrov, alguersuari, glock, trulli, kovalainen, digrassi, senna, chandhok ]) gp02.establecer_resultado([alonso, massa, hamilton, vettel, rosberg, schumacher, button, webber, liuzzi, barrichello, kubica, sutil, alguersuari, hulkenberg, kovalainen, buemi, trulli, delarosa, senna, glock, petrov, kobayashi, digrassi, chandhok], 49) gp03.establecer_parrilla([ rosberg, vettel, massa, hamilton, alonso, webber, schumacher, button, kubica, sutil, barrichello, liuzzi, hulkenberg, delarosa, buemi, kobayashi, petrov, alguersuari, glock, trulli, kovalainen, digrassi, senna, chandhok ]) trulli.fichar_por_equipo(virgin, datetime.date(2010, 3, 19)) digrassi.fichar_por_equipo(lotus, datetime.date(2010, 3, 19)) Facade.almacenar_temporada(temporada) # # Temporada 2009 # inicio = datetime.date(2009, 3, 12) fin = datetime.date(2009, 11, 14) temporada = Facade.nueva_temporada("Temporada 2009", "t_2009") temporada.establecer_datos({'inicio': inicio, 'fin': fin, 'n_pilotos_parrilla': 24, 'n_pilotos_gp': 24, 'tabla_puntos': [25,18,15,12,10,8,6,4,1]}) nombre = "gp completo" lugar = "Sakhir" inicio = datetime.date(2009, 3, 12) fin = datetime.date(2009, 3, 14) n_vueltas = 49
def borrar_piloto(self): piloto = self.__piloto_activo self.__temporada_activa.eliminar_piloto(piloto) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos()
def borrar_gp(self): gp = self.__gp_activo self.__temporada_activa.eliminar_GP(gp) Facade.almacenar_temporada(self.__temporada_activa) self.actualizar_datos()