コード例 #1
0
ファイル: gui_flightslog.py プロジェクト: Situphen/OpenPlane
    def update_flights_list(self):
        '''
            Met à jour la liste des avions par rapport aux fichiers contenu
            dans le dossier flightslog
        '''
        self.flights_list.clear()
        flights_path = []

        for flight_file in glob.glob('{}*{}'.format(config.flightslog_folder,
                                                    config.flights_ext)):
            flights_path.append(flight_file)

        for flight_doc in flights_path:
            flight = Flight()
            plane = Plane()

            flight.import_flight(flight_doc)

            total_hours = flight.calc_total_hours()

            # On vérifie que l'avion existe bien (bug remonté par WinXaito)
            if os.path.isfile(flight.plane):
                plane.import_plane(flight.plane)
                self.flights_list.append([flight.date, plane.matriculation,
                                         flight.type, total_hours])
            else:
                self.flights_list.append([flight.date, 'UKNOWN',
                                         flight.type, total_hours])
コード例 #2
0
ファイル: gui_flightslog.py プロジェクト: Situphen/OpenPlane
 def import_flightlog(self, flight_path):
     flight = Flight()
     flight.import_flight(flight_path)
コード例 #3
0
    def import_flight(self, flight_path):
        '''
            Importe un vol dans la fenêtre
        '''
        flight = Flight()
        flight.import_flight(flight_path)

        year, month, day = flight.date.split('-')

        self.date.select_day(int(day))
        self.date.select_month(int(month) - 1, int(year))


        self.role.set_active_id(flight.role)

        # On vérifie que l'avion existe bien (bug remonté par WinXaito)
        if os.path.isfile(flight.plane):
            plane = Plane()
            plane.import_plane(flight.plane)
            self.plane_chooser.set_active_id(plane.matriculation)

        self.type.set_text(flight.type)

        # Membres d'équipage
        self.members_night.set_active(not flight.members_day)
        self.members_hours.set_value(flight.members_hours)
        self.members_minutes.set_value(flight.members_minutes)

        # Pilote monomoteur
        self.single_night.set_active(not flight.single_engine_day)
        self.single_captain.set_active(not flight.single_engine_double)
        self.single_hours.set_value(flight.single_engine_hours)
        self.single_minutes.set_value(flight.single_engine_minutes)

        # Pilote multimoteurs
        self.multi_night.set_active(not flight.multi_engines_day)
        if flight.multi_engines_double:
            self.multi_double.set_active(True)
        elif flight.multi_engines_captain:
            self.multi_captain.set_active(True)
        else:
            self.multi_copilot.set_active(True)
        self.multi_hours.set_value(flight.multi_engines_hours)
        self.multi_minutes.set_value(flight.multi_engines_minutes)

        # IFR
        self.ifr_captain.set_active(not flight.ifr_double)
        self.ifr_hours.set_value(flight.ifr_hours)
        self.ifr_minutes.set_value(flight.ifr_minutes)

        # Autres
        self.simu_hours.set_value(flight.simulation_hours)
        self.simu_minutes.set_value(flight.simulation_minutes)
        self.ifr_arrivals.set_value(flight.ifr_arrivals)

        # Commentaires
        self.observations.set_text(flight.observations)

        self.takeoff.set_value(flight.takeoff)
        self.landing.set_value(flight.landing)
        self.departure.set_text(flight.departure)
        self.arrival.set_text(flight.arrival)
        self.comments.set_text(flight.comments)

        self.dialog.set_title(text.edit_flight.format(day, month, year))