Ejemplo n.º 1
0
    def getAirplanes(self):
        fileObject = FileHandler(self.aircraftPath)
        fileForRead = fileObject.readFile()
        reader = csv.DictReader(fileForRead)
        field_list = fileObject.findFieldNames()
        airplane_list = []
        for row in reader:
            airplane_list.append(
                AirplaneData(row[field_list[0]], row[field_list[1]],
                             row[field_list[2]], row[field_list[3]]))

        return airplane_list
Ejemplo n.º 2
0
    def getDestinations(self):
        fileObject = FileHandler(self.destinationPath)
        fileForRead = fileObject.readFile()
        reader = csv.DictReader(fileForRead)
        field_list = fileObject.findFieldNames()
        destination_list = []
        for row in reader:
            destination_list.append(
                DestinationData(row[field_list[0]], row[field_list[1]],
                                row[field_list[2]], row[field_list[3]],
                                row[field_list[4]]))

        return destination_list
Ejemplo n.º 3
0
    def getStaff(self):
        fileObject = FileHandler(self.crewPath)
        fileForRead = fileObject.readFile()
        reader = csv.DictReader(fileForRead)
        field_list = fileObject.findFieldNames()
        crew_list = []
        for row in reader:
            crew_list.append(
                StaffData(row[field_list[0]], row[field_list[1]],
                          row[field_list[2]], row[field_list[3]],
                          row[field_list[4]], row[field_list[5]],
                          row[field_list[6]], row[field_list[7]],
                          row[field_list[8]]))

        return crew_list
Ejemplo n.º 4
0
    def getVoyages(self):
        fileObject = FileHandler(self.upcomingVoyagesPath)
        fileForRead = fileObject.readFile()
        reader = csv.DictReader(fileForRead)
        field_list = fileObject.findFieldNames()
        voyages_list = []
        for row in reader:
            voyages_list.append(
                VoyageData(row[field_list[0]], row[field_list[1]],
                           row[field_list[2]], row[field_list[3]],
                           row[field_list[4]], row[field_list[5]],
                           row[field_list[6]], row[field_list[7]],
                           row[field_list[8]], row[field_list[9]]))

        return voyages_list
Ejemplo n.º 5
0
 def addNewDest(self, newDestination):
     #  FileHandler DTO instance created
     fileObject = FileHandler(self.destinationPath)
     #  File opened with appendFile()
     destinationFile = fileObject.appendFile()
     field_list = fileObject.findFieldNames()
     writer = csv.DictWriter(destinationFile, fieldnames=field_list)
     writer.writerow({
         field_list[0]: newDestination.getCountry(),
         field_list[1]: newDestination.getFlightTime(),
         field_list[2]: newDestination.getContact(),
         field_list[3]: newDestination.getEmergencyNumber(),
         field_list[4]: newDestination.getDestId()
     })
     destinationFile.close()
Ejemplo n.º 6
0
    def addNewAirplane(self, newAirplane):
        #  FileHandler DTO instance created
        fileObject = FileHandler(self.aircraftPath)

        #  File opened with appendFile()
        airplaneFile = fileObject.appendFile()
        field_list = fileObject.findFieldNames(
        )  # findFieldNames creates a list where each row is a element from the first line
        writer = csv.DictWriter(airplaneFile, fieldnames=field_list)
        writer.writerow({
            field_list[0]: newAirplane.getPlaneId(),
            field_list[1]: newAirplane.getType(),
            field_list[2]: newAirplane.getModel(),
            field_list[3]: newAirplane.getCapacity()
        })
        airplaneFile.close()
Ejemplo n.º 7
0
    def addNewStaff(self, newEmployee):
        #  FileHandler DTO instance created
        fileObject = FileHandler(self.crewPath)

        #  File opened with appendFile()
        crewFile = fileObject.appendFile()
        field_list = fileObject.findFieldNames()
        writer = csv.DictWriter(crewFile, fieldnames=field_list)
        writer.writerow({
            field_list[0]: newEmployee.getSSN(),
            field_list[1]: newEmployee.getName(),
            field_list[2]: newEmployee.getAddress(),
            field_list[3]: newEmployee.getCellPhone(),
            field_list[4]: newEmployee.getPhoneNumber(),
            field_list[5]: newEmployee.getEmail(),
            field_list[6]: newEmployee.getRole(),
            field_list[7]: newEmployee.getRank(),
            field_list[8]: newEmployee.getLicense()
        })
        crewFile.close()
Ejemplo n.º 8
0
    def addNewVoyage(self, newVoyage):
        #  FileHandler DTO instance created
        fileObject = FileHandler(self.upcomingVoyagesPath)
        #  File opened with appendFile()
        voyageFile = fileObject.appendFile()
        field_list = fileObject.findFieldNames()
        writer = csv.DictWriter(voyageFile, fieldnames=field_list)
        writer.writerow({
            field_list[0]: newVoyage.getFlightNumber(),
            field_list[1]: newVoyage.getDepartingFrom(),
            field_list[2]: newVoyage.getArrivingAt(),
            field_list[3]: newVoyage.getDepartureTime(),
            field_list[4]: newVoyage.getArrivalTime(),
            field_list[5]: newVoyage.getAircraftId(),
            field_list[6]: newVoyage.getCaptain(),
            field_list[7]: newVoyage.getCoPilot(),
            field_list[8]: newVoyage.getFa1(),
            field_list[9]: newVoyage.getFa2()
        })

        voyageFile.close()
Ejemplo n.º 9
0
    def addLicense(self, dataList):

        # FileHandler DTO instance created
        fileObject = FileHandler(self.licensePath)

        # File opened with readFile()
        crewFile = fileObject.readFile()
        reader = csv.DictReader(crewFile)
        field_list = fileObject.findFieldNames()
        crew_list = []
        for row in reader:
            crew_list.append(
                StaffData(row[field_list[0]], row[field_list[1]],
                          row[field_list[2]], row[field_list[3]],
                          row[field_list[4]], row[field_list[5]],
                          row[field_list[6]], row[field_list[7]],
                          row[field_list[8]]))

        crewFile.close()

        # File opened with writeFile()
        crewFile = fileObject.writeFile()
        fieldnames = field_list
        writer = csv.DictWriter(crewFile, fieldnames=fieldnames)
        writer.writeheader()

        crewFile.close()

        # File opened with appendFile()
        crewFile = fileObject.appendFile()
        fieldnames = field_list
        writer = csv.DictWriter(crewFile, fieldnames=fieldnames)
        for employee in crew_list:
            if employee.getSSN() == dataList[0]:
                employee.setLicense(dataList[1])
            writer.writerow({
                field_list[0]: employee.getSSN(),
                field_list[1]: employee.getName(),
                field_list[2]: employee.getAddress(),
                field_list[3]: employee.getCellPhone(),
                field_list[4]: employee.getPhoneNumber(),
                field_list[5]: employee.getEmail(),
                field_list[6]: employee.getRole(),
                field_list[7]: employee.getRank(),
                field_list[8]: employee.getLicense()
            })

        crewFile.close()
Ejemplo n.º 10
0
    def updateDest(self, dataList):

        # FileHandler DTO instance created
        fileObject = FileHandler(self.destinationPath)

        # File opened with readFile()
        destinationsFile = fileObject.readFile()
        reader = csv.DictReader(destinationsFile)
        field_list = fileObject.findFieldNames()
        destinations_list = []
        for row in reader:
            destinations_list.append(
                DestinationData(row[field_list[0]], row[field_list[1]],
                                row[field_list[2]], row[field_list[3]],
                                row[field_list[4]]))

        destinationsFile.close()

        # File opened with writeFile()
        destinationsFile = fileObject.writeFile()
        fieldnames = field_list
        writer = csv.DictWriter(destinationsFile, fieldnames=fieldnames)
        writer.writeheader()

        destinationsFile.close()

        # File opened with appendFile()
        destinationsFile = fileObject.appendFile()
        fieldnames = field_list
        writer = csv.DictWriter(destinationsFile, fieldnames=fieldnames)
        for destination in destinations_list:
            if destination.getCountry() == dataList[0]:
                destination.setContact(dataList[1])
                destination.setEmergencyNumber(dataList[2])
            writer.writerow({
                field_list[0]: destination.getCountry(),
                field_list[1]: destination.getFlightTime(),
                field_list[2]: destination.getContact(),
                field_list[3]: destination.getEmergencyNumber(),
                field_list[4]: destination.getDestId()
            })

        destinationsFile.close()
Ejemplo n.º 11
0
    def updateVoyage(self, dataList, staffList):
        '''We update a voyage only to add the staff to a voyage. Voyage is the most complicated because when we find the line(instance) we
        want to change the line below the target instance where's'''
        # FileHandler DTO instance created
        fileObject = FileHandler(self.upcomingVoyagePath)

        upcomingVoyageFile = fileObject.readFile()
        reader = csv.DictReader(upcomingVoyageFile)
        field_list = fileObject.findFieldNames()
        voyage_list = []
        for row in reader:
            voyage_list.append(
                VoyageData(row[field_list[0]], row[field_list[1]],
                           row[field_list[2]], row[field_list[3]],
                           row[field_list[4]], row[field_list[5]],
                           row[field_list[6]], row[field_list[7]],
                           row[field_list[8]], row[field_list[9]]))
        upcomingVoyageFile.close()
        upcomingVoyageFile = fileObject.writeFile()
        fieldnames = field_list
        writer = csv.DictWriter(upcomingVoyageFile, fieldnames=fieldnames)
        writer.writeheader()
        upcomingVoyageFile.close()
        upcomingVoyageFile = fileObject.appendFile()
        fieldnames = field_list
        writer = csv.DictWriter(upcomingVoyageFile, fieldnames=fieldnames)

        i = 0
        while i < len(voyage_list):
            if dataList[0].getDepartureTime(
            ) == voyage_list[i].getDepartureTime():
                voyage_list[i].setCaptain(staffList[0])
                voyage_list[i].setCoPilot(staffList[1])
                voyage_list[i].setFa1(staffList[2])
                voyage_list[i].setFa2(staffList[3])
                # after setting the new staff for the first flight we do the same for the second
                voyage_list[i + 1].setCaptain(staffList[0])
                voyage_list[i + 1].setCoPilot(staffList[1])
                voyage_list[i + 1].setFa1(staffList[2])
                voyage_list[i + 1].setFa2(staffList[3])
            writer.writerow({
                field_list[0]: voyage_list[i].getFlightNumber(),
                field_list[1]: voyage_list[i].getDepartingFrom(),
                field_list[2]: voyage_list[i].getArrivingAt(),
                field_list[3]: voyage_list[i].getDepartureTime(),
                field_list[4]: voyage_list[i].getArrivalTime(),
                field_list[5]: voyage_list[i].getAircraftId(),
                field_list[6]: voyage_list[i].getCaptain(),
                field_list[7]: voyage_list[i].getCoPilot(),
                field_list[8]: voyage_list[i].getFa1(),
                field_list[9]: voyage_list[i].getFa2()
            })
            # We have updated the first flight and writen it in the csv file and we do the same for the next flight
            writer.writerow({
                field_list[0]:
                voyage_list[i + 1].getFlightNumber(),
                field_list[1]:
                voyage_list[i + 1].getDepartingFrom(),
                field_list[2]:
                voyage_list[i + 1].getArrivingAt(),
                field_list[3]:
                voyage_list[i + 1].getDepartureTime(),
                field_list[4]:
                voyage_list[i + 1].getArrivalTime(),
                field_list[5]:
                voyage_list[i + 1].getAircraftId(),
                field_list[6]:
                voyage_list[i + 1].getCaptain(),
                field_list[7]:
                voyage_list[i + 1].getCoPilot(),
                field_list[8]:
                voyage_list[i + 1].getFa1(),
                field_list[9]:
                voyage_list[i + 1].getFa2()
            })
            i += 2

        upcomingVoyageFile.close()