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