Beispiel #1
0
 def afficher_configs(self):
     """
     Methode qui permet d'afficher les configs d'avion utilisees par la compagnie
     :return: 
     """
     ihm.afficher("Il y a {} configuration(s)".format(len(self._configs)))
     ihm.afficher_paginer(self._configs, "Configurations", pas=10)
     return
Beispiel #2
0
    def afficher_infos_routes(self):
        """
        Methode qui permet d'afficher la liste des routes de la compagnie
        :return: 
        """

        ihm.afficher("Il y a {} route(s)".format(len(self._routes)))
        ihm.afficher_paginer(self._routes, "Routes", pas=10)
        return
Beispiel #3
0
    def afficher_infos_avions(self):
        """
        Methode qui permet d'afficher les infos des differents avions
        :return: 
        """

        ihm.afficher("Il y a {} avion(s)".format(len(self._avions)))
        ihm.afficher_paginer(self._avions, "Avions", pas=10)
        return
Beispiel #4
0
 def afficher_avions(self):
     """
     Methode qui permet d'afficher tous les avions au sol
     
     :return: None
     """
     ihm.afficher("Il y a {} avion(s) au sol à l'aéroport"
                  .format(len(self._avions)))
     ihm.afficher_paginer(self._avions, "Avions au sol", pas=10)
     return
Beispiel #5
0
    def afficher_routes_entrantes(self):
        """
        Affiche toutes les routes possibles qui arrivent a l'aeroport

        :return: None
        """
        ihm.afficher("Il y a {} route(s) entrante(s)"
                     .format(len(self.routes_entrantes)))
        ihm.afficher_paginer(self.routes_entrantes, "Routes entrantes", pas=10)
        return
Beispiel #6
0
 def afficher_routes_sortantes(self):
     """
     Affiche toutes les routes possibles qui partent de l'aeroport
     
     :return: None
     """
     ihm.afficher("Il y a {} route(s) sortante(s)"
                  .format(len(self.routes_sortantes)))
     ihm.afficher_paginer(self.routes_sortantes, "Routes sortantes", pas=10)
     return
Beispiel #7
0
    def afficher_horaires(self):
        """
        Methode qui permet d'afficher les horaires ou cette route est empruntée
        :return: None
        """

        liste_horaires = self._horaires
        liste_horaires.sort(key=lambda s: s.heure_depart)
        ihm.afficher_paginer(liste_horaires, "Liste des horaires")
        return
Beispiel #8
0
    def afficher_vols(self):
        """
        Methode qui permet d'afficher les vols assures par l'avion

        :return: None
        """

        ihm.afficher("Il y a {} vol(s)".format(len(self._vols)))
        ihm.afficher_paginer(self._vols, "Vols", pas=10)
        return
Beispiel #9
0
    def consulter_reservations(self):
        """
        Methode qui permet d'afficher la liste de toutes les reservations effectuees
        :return: None
        """

        resas_tri = self._reservations
        resas_tri.sort(key=lambda s: s.date_achat, reverse=True)
        ihm.afficher("Il y a {} réservation(s)".format(len(resas_tri)))
        ihm.afficher_paginer(resas_tri, "Réservations", pas=10)
        return
Beispiel #10
0
    def afficher_vols(self):
        """
        Methode qui permet d'afficher les vols disponibles
        
        :return: None
        """

        vols_tri = self._vols
        vols_tri.sort(key=lambda s: s.datetime_depart, reverse=True)
        ihm.afficher("Il y a {} vol(s)".format(len(vols_tri)))
        ihm.afficher_paginer(vols_tri, "Vols", pas=10)
        return
Beispiel #11
0
 def afficher_horaires_arrivees(self):
     """
     Affiche tous les horaires d'arrivee a l'aeroport
     
     :return: None
     """
     hor_arr = []
     for route in self._routes_entrantes:
         hor_arr.extend(route.horaires)
     hor_arr.sort(key=lambda s: s.heure_arrivee)
     ihm.afficher("Il y a {} horaire(s) d'arrivée(s)"
                  .format(len(hor_arr)))
     ihm.afficher_paginer(hor_arr, "Horaires d'arrivées", pas=10)
     return
Beispiel #12
0
    def afficher_horaires_departs(self):
        """
        Affiche tous les horaires de depart l'aeroport

        :return: None
        """
        hor_arr = []
        for route in self._routes_sortantes:
            horaires = [x for x in route.horaires
                        if x.horaire_operateur is None]
            hor_arr.extend(horaires)
        hor_arr.sort(key=lambda s: s.heure_depart)
        ihm.afficher("Il y a {} horaire(s) de départ(s)"
                     .format(len(hor_arr)))
        ihm.afficher_paginer(hor_arr, "Horaires de départs", pas=10)
        return
Beispiel #13
0
    def afficher_aeroports(self):
        """
        Methode qui permet d'afficher les aeroports en fonction du nombre de route qui leur
        sont rattachées
        
        :return:
        """

        liste = defaultdict(int)
        for route in self._routes:
            liste[route.aeroport_depart] += 1
            liste[route.aeroport_arrivee] += 1
        aeros = list(liste.keys())
        aeros.sort(key=lambda s: liste[s], reverse=True)
        aeros_nb_routes = []
        for aero in aeros:
            aeros_nb_routes.append("{} - {} routes".format(aero, liste[aero]))
        ihm.afficher_paginer(aeros_nb_routes, "Liste des aéroports de {}".format(self._nom))
        return
Beispiel #14
0
    def affiche_prix_distance(combinaisons, classe, choix=False):
        combi_prix = []
        combi_dist = []
        combi_tout = []
        for combi in combinaisons:
            prix_combi = 0
            dist_totale = 0
            for route in combi:
                prix_combi += route.calcul_prix_route(classe)
                dist_totale += route.distance/1000
            combi_prix.append(prix_combi)
            combi_dist.append(dist_totale)
        combi_tout.extend(zip(combinaisons, combi_prix, combi_dist))

        combi_print = []
        combi_tout.sort(key=lambda s: s[1])
        for combi in combi_tout:
            ligne = "{:.2f}€".format(combi[1])
            ligne += " {:.0f}km".format(combi[2])
            route0 = combi[0][0]
            ligne += " - {} - {} ({},{})".format(
                route0.compagnie.code_icao,
                route0.aeroport_depart.id_code_iata,
                route0.aeroport_depart.municipalite,
                route0.aeroport_depart.code_pays)
            for route in combi[0]:
                ligne += " -> {} ({},{})".format(
                    route.aeroport_arrivee.id_code_iata,
                    route.aeroport_arrivee.municipalite,
                    route.aeroport_arrivee.code_pays)
            combi_print.append(ligne)

        if choix:
            trajet = ihm.choisir_paginer(combi_print, "Choisissez un trajet")
            return combi_print.index(trajet)
        else:
            ihm.afficher_paginer(combi_print, "Liste des trajets trouvés")
        return