Esempio n. 1
0
    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
Esempio n. 2
0
    def actualizar_datos(self):
        self.__temporadas = Facade.obtener_lista_temporadas()
        self.__temporadas.sort()
        self.__lista_temps = []
        self.__lista_temp_validas = []
        self.__lista_gps_validos_temp = []
        temporada_valida = False
        pos_temp = 0
        for t in self.__temporadas:
            self.__lista_gps_validos_temp.append({})
            pos_general = 0
            pos_gp = 0
            temporada = Facade.obtener_temporada(t)
            self.__lista_temps.append(temporada)
            gps_temporada = temporada.obtener_lista_GPs()
            for gp in gps_temporada:
                if (not gp.ha_comenzado()) or (not gp.ha_finalizado()):
                    temporada_valida = True
                    self.__lista_gps_validos_temp[pos_temp][pos_gp] = pos_general
                    pos_gp = pos_gp + 1

                pos_general = pos_general + 1
            if temporada_valida:
                self.__lista_temp_validas.append(pos_temp)
            temporada_valida = False
            pos_temp = pos_temp + 1

        self.set_temporada_activa(pos_temp - 1)
        self.__gp_activo = -1
        self.__listview_gp_parrilla = gtk.ListStore(int, str)
        self.__listview_gp_carrera = gtk.ListStore(int, str)
Esempio n. 3
0
    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)
Esempio n. 4
0
 def actualizar_datos(self):
     self.__temporadas = Facade.obtener_lista_temporadas()
     self.__temporadas.sort()
     self.__numero_temporadas = -1
     self.__lista_temps = []
     for t in self.__temporadas:
         self.__lista_temps.append(Facade.obtener_temporada(t))
         self.__numero_temporadas = self.__numero_temporadas + 1
     self.__lista_temps.sort(key=lambda nombre: nombre.obtener_datos()["nombre"])
     self.set_temporada_activa(self.__numero_temporadas)
     self.__gp_activo = -1
Esempio n. 5
0
 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
Esempio n. 6
0
    def actualizar_datos(self):
        temp = Facade.obtener_lista_temporadas()
        self.__temporadas = []
        self.__numero_temporadas = -1
        self.__gps = []
        for t in temp:
            temporada = Facade.obtener_temporada(t)
            self.__temporadas.append(temporada)
            self.__numero_temporadas = self.__numero_temporadas + 1

        self.__temporadas.sort(key=lambda nombre: nombre.obtener_datos()["nombre"])
        self.__temporada_seleccionada = ""

        self.__gp_activo = -1
Esempio n. 7
0
    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()
Esempio n. 8
0
    def actualizar_datos(self):
        temp = Facade.obtener_lista_temporadas()

        self.__temporadas = []
        self.__equipos = []
        self.__pilotos = []
        self.__gps = []
        self.__reglas = []
        self.__reglas_temporada_sin_guardar = []
        if temp != []:
            for t in temp:
                temporada = Facade.obtener_temporada(t)
                self.__temporadas.append(temporada)
            self.__temporadas.sort(key=lambda nombre: nombre.obtener_datos()["nombre"])
        self.__temporada_seleccionada = ""
        self.__fecha_inicio = None
        self.__fecha_fin = None
Esempio n. 9
0
    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
Esempio n. 10
0
#!/usr/bin/python
# -*- coding: utf-8 -*-


"""
Crear una BBDD con datos de temporadas para usar en las pruebas.
"""

import sys
import datetime
from model import Facade


if sys.argv[1]:
    Facade.establecer_directorio_bd(sys.argv[1])
else:
    Facade.establecer_directorio_bd(".")

#
# Temporada 2010
#
inicio =  datetime.date(2010, 3, 12)
fin = datetime.date(2010, 11, 14)
temporada = Facade.nueva_temporada("Temporada 2010", "t_2010")
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 = "2010 FORMULA 1 GULF AIR BAHRAIN GRAND PRIX"
lugar = "Sakhir"
inicio = datetime.date(2010, 3, 12)
fin = datetime.date(2010, 3, 14)
n_vueltas = 49
Esempio n. 11
0
 def borrar_temporada(self):
     temporada = self.__obtener_temporada()
     Facade.eliminar_temporada(temporada)
     self.actualizar_datos()
Esempio n. 12
0
 def borrar_piloto(self):
     piloto = self.__piloto_activo
     self.__temporada_activa.eliminar_piloto(piloto)
     Facade.almacenar_temporada(self.__temporada_activa)
     self.actualizar_datos()
Esempio n. 13
0
 def borrar_gp(self):
     gp = self.__gp_activo
     self.__temporada_activa.eliminar_GP(gp)
     Facade.almacenar_temporada(self.__temporada_activa)
     self.actualizar_datos()
Esempio n. 14
0
#!/usr/bin/python2.5
# -*- coding: utf-8
import gtk
from model import Facade


Facade.establecer_directorio_bd("db")


class ConsultarResultados:
    def __init__(self):
        self.actualizar_datos()
        self.__listview_gp_parrilla = gtk.ListStore(int, str)
        self.__listview_gp_carrera = gtk.ListStore(int, str)
        self.__listview_temporada_pilotos = gtk.ListStore(int, str, int)
        self.__listview_temporada_equipos = gtk.ListStore(int, str, int)
        self.__listview_carreras_temporada = gtk.ListStore(str, str, str)

    def actualizar_datos(self):
        self.__temporadas = Facade.obtener_lista_temporadas()
        self.__temporadas.sort()
        self.__numero_temporadas = -1
        self.__lista_temps = []
        for t in self.__temporadas:
            self.__lista_temps.append(Facade.obtener_temporada(t))
            self.__numero_temporadas = self.__numero_temporadas + 1
        self.__lista_temps.sort(key=lambda nombre: nombre.obtener_datos()["nombre"])
        self.set_temporada_activa(self.__numero_temporadas)
        self.__gp_activo = -1

    def set_temporada_activa(self, indice):