Esempio n. 1
0
 def get_on_emp(self, date):
     name_list = []
     onEmps = self.dvoy.get_on_emp(date)
     allEmps = Employee_Data().get_crew_dict()
     for onemp in onEmps:
         temp_list = []
         for key, value in allEmps.items():
             for ssn in onemp:
                 if key == ssn:
                     temp_list.append(value[0])
         if temp_list != []:
             name_list.append(temp_list)
     return self.dvoy.get_on_emp(date), name_list
Esempio n. 2
0
    def get_off_emp(self, date):
        allEmps = Employee_Data().get_crew_dict()

        onEmps, name_list = self.get_on_emp(date)
        # print(onEmps)
        offEmps = []
        i = 0
        for emp, value in allEmps.items():
            if i != 0:
                isOff = True

                for onemp in onEmps:
                    if emp in onemp:
                        isOff = False
                if isOff == True:

                    offEmps.append(value[0])
            i += 1

        return offEmps
Esempio n. 3
0
class DataAPI:
    def __init__(self):
        self.demp = Employee_Data()
        self.ddes = Destination_Data()

    def storenewemplyee(self, new_empl):
        return self.demp.register_employee_Data(new_empl)

    def new_emp_id(self):
        the_new_emp_id = new_emp_id()
        return the_new_emp_id

    def get_counter_from_data_emp(self):
        emp_data = Employee_Data()
        the_id = emp_data.new_emp_id()
        return the_id

    def get_pilots(self):
        return self.demp.get_pilots()

    def get_dest(self):
        return self.ddes.get_dest()
Esempio n. 4
0
 def __init__ (self):
     #self.dapi = dapi_in
     self.demp = Employee_Data()
Esempio n. 5
0
class Employee_LL :
    def __init__ (self):
        #self.dapi = dapi_in
        self.demp = Employee_Data()

    '''def register_employee_LL(self):
        if 
        new_emp_ready_for_print = new_emp.emp_comma_to_string
    '''
    """
    def addnewemployee(self, dapi_in, new_empl ) :
        # first we should check if this is a doubel registration .. 
        if ( self.dapi.getemployee( new_empl.ssn) == None ) :
            # kasta villu til baka um að notandi er þegar til. 
            pass
        
        # svörum svarinu sem við fáum þegar við köstum þessu niður í skrá 
        return self.dapi.storenewemplyee( new_empl )
    """
    def get_chosen_emp(self, emp_ssn) :
        return self.demp.get_chosen_emp(emp_ssn)
        
    def addnewemployee(self, ssn, name, role, rank, licence, address, phonenumber):
        '''Áfram senda skipun um að skrifa í csv skjal'''
        self.demp.register_employee_Data(ssn, name, role, rank, licence, address, phonenumber)

    def check_emp_ssn(self,ssn) :
        '''check if emp already exists by checkin curretn employees ssn'''
        counter = 1 
        crew_dict = self.demp.get_crew_dict()
        for key in crew_dict.keys() :
            if counter > 1 :
                if key == ssn :
                    return False
            counter += 1        
        return True

    def check_name(self, name) :
        for cha in name :
            if cha.isdigit() :
                return False 
        return True

    def check_phonenumber(self,phonenumber) :
        for cha in phonenumber :
            if cha.isalpha() or len(phonenumber) != 7 :
                return False 
        return True

    def check_ssn(self,ssn) :
        for cha in ssn :
            if cha.isalpha() or len(ssn) != 10 :
                return False 
        return True 
              
    def change_employee_address(self, new_address, emp_ssn) :
        '''passa að employeeinn sé til'''
        self.demp.change_emp_addr_data(new_address, emp_ssn)
    
    def change_employee_role_rank(self, new_role, new_rank, emp_ssn) :
        '''passa að employeeinn sé til'''
        self.demp.change_emp_role_rank_data(new_role, new_rank, emp_ssn)

    def change_employee_licence(self, new_licence, emp_ssn) :
        '''passa að employeeinn sé til'''
        self.demp.change_emp_lice_data(new_licence, emp_ssn)

    def change_employee_phonenumber(self, new_phonenumber,emp_ssn) :
        '''passa að employeeinn sé til'''
        self.demp.change_emp_phone_data(new_phonenumber, emp_ssn)

    
    def get_pilots(self):
        return self.demp.get_pilots()

    def get_cabin(self) :
        return self.demp.get_cabin()

    def get_pilots_with_NABAE146(self):
        return self.demp.get_pilots_with_NABAE146()

    def get_pilots_with_NAFokkerF28(self):
        return self.demp.get_pilots_with_NAFokkerF28()

    def get_pilots_with_NAFokker100(self):
        return self.demp.get_pilots_with_NAFokker100()
Esempio n. 6
0
 def __init__(self):
     self.empll = Employee_LL()
     self.airc = Aircraft_LL()
     self.dest = Destination_LL()
     self.demp = Employee_Data()
     self.voy = Voyage_LL()
Esempio n. 7
0
class LL_API:
    def __init__(self):
        self.empll = Employee_LL()
        self.airc = Aircraft_LL()
        self.dest = Destination_LL()
        self.demp = Employee_Data()
        self.voy = Voyage_LL()

    def addnewvoyage(self, flight_number, departing_from, arriving_at,
                     departure, arrival):
        self.voy.addnewvoyage(flight_number, departing_from, arriving_at,
                              departure, arrival)

    def addnewemplyee(self, ssn, name, role, rank, licence, address,
                      phonenumber):
        self.empll.addnewemployee(ssn, name, role, rank, licence, address,
                                  phonenumber)

    def check_name(self, name):
        return self.empll.check_name(name)

    def check_phonenumber(self, phonenumber):
        return self.empll.check_phonenumber(phonenumber)

    def check_ssn(self, ssn):
        return self.empll.check_ssn(ssn)

    def check_emp_ssn(self, ssn):
        return self.empll.check_emp_ssn(ssn)

    def print_chosen_emp(self, emp_ssn):
        return self.empll.get_chosen_emp(emp_ssn)

    def change_empl_address(self, new_address, emp_ssn):
        self.empll.change_employee_address(new_address, emp_ssn)

    def change_empl_role_rank(self, new_role, new_rank, emp_ssn):
        self.empll.change_employee_role_rank(new_role, new_rank, emp_ssn)

    def change_empl_licence(self, new_licence, emp_ssn):
        self.empll.change_employee_licence(new_licence, emp_ssn)

    def change_empl_phonenumber(self, new_phonenumber, emp_ssn):
        self.empll.change_employee_phonenumber(new_phonenumber, emp_ssn)

    def addnewdestination(self, identity, destination, flight_time):
        self.dest.addnewdestination(identity, destination, flight_time)

    def check_id(self, identity):
        return self.dest.check_id(identity)

    def addnewaircraft(self, nickname, aircraftID, planeTypeId, capacity,
                       manufacturer):
        self.airc.addnewaircraft(nickname, aircraftID, planeTypeId, capacity,
                                 manufacturer)

    def check_aircraftid(self, aircraftID):
        return self.airc.check_aircraftid(aircraftID)

    def voy_dest(self):
        return self.voy.voy_dest()

    def check_flight_number(self, flight_number):
        return self.voy.check_flight_number(flight_number)

    def flight_number(self, flight_number):
        return self.voy.flight_number(flight_number)

    def get_dest(self):
        return self.dest.get_dest()

    def display_voy(self):
        return self.voy.get_voyage()

    def get_all_emp(self):
        return self.demp.get_all_emp()

    def get_pilots(self):
        return self.empll.get_pilots()

    def get_cabin(self):
        return self.empll.get_cabin()

    def display_cert_worksheet(self, week, ssn):
        return self.voy.emp_voy_for_week(week, ssn)

    def get_pilots_with_NABAE146(self):
        return self.empll.get_pilots_with_NABAE146()

    def get_pilots_with_NAFokkerF28(self):
        return self.empll.get_pilots_with_NAFokkerF28()

    def get_pilots_with_NAFokker100(self):
        return self.empll.get_pilots_with_NAFokker100()

    def display_pilot_by_aircraft(self):
        self.disp.disp_pilot_by_aircraft()

    def voy_dest_and_arriving_at(self, val):
        return self.voy.voy_dest_and_arriving_at(val)

    def voy_calculating_flight_times(self, val, departure_not_iso,
                                     departing_from):
        return self.voy.voy_calculating_flight_times(val, departure_not_iso,
                                                     departing_from)

    def find_staff_with_chosen_rank(self, rank, flightNumber):
        return self.voy.find_available_staff_with_chosen_rank(
            rank, flightNumber)

    def picked_emp_for_voyage(self, picked, aircraftID, flightNumber):
        self.voy.picked_emp_for_voyage(picked, aircraftID, flightNumber)

    def find_aircrafts(self):
        return self.voy.find_aircrafts()

    def certain_date_voy(self, date):
        return self.voy.certain_date_voy(date)

    def certain_week_voy(self, week):
        return self.voy.certain_week_voy(week)

    def get_on_emp(self, date):
        return self.voy.get_on_emp(date)

    def get_off_emp(self, date):
        return self.voy.get_off_emp(date)

    def check_time(self, year, month, day, hour, minute):
        return self.voy.check_time(year, month, day, hour, minute)

    def print_chosen_emer(self, des_id):
        return self.dest.get_chosen_emer(des_id)

    def change_emer_name(self, new_name, des_id):
        return self.dest.change_emer_name(new_name, des_id)

    def change_emer_number(self, new_number, des_id):
        return self.dest.change_emer_number(new_number, des_id)
Esempio n. 8
0
 def __init__(self):
     self.demp = Employee_Data()
     self.ddes = Destination_Data()
Esempio n. 9
0
 def get_counter_from_data_emp(self):
     emp_data = Employee_Data()
     the_id = emp_data.new_emp_id()
     return the_id
Esempio n. 10
0
class Voyage_LL:
    def __init__(self):
        #self.dapi = dapi_in
        self.dvoy = Voyage_Data()
        self.ddata = Destination_Data()
        self.demp = Employee_Data()
        self.dair = Aircraft_Data()

    def addnewvoyage(self, flight_number, departing_from, arriving_at,
                     departure, arrival):
        '''Vantar að tékka hvort emp sé til með ssn tékki'''
        self.dvoy.register_voyage_data(flight_number, departing_from,
                                       arriving_at, departure, arrival)

    def voy_dest(self):
        return self.ddata.get_dest_dict()

        #x = input("sdfg")
    def get_voyage(self):
        return self.dvoy.get_voyage()

    def voy_dest_and_arriving_at(self, val):
        dest_dict = self.ddata.get_dest_dict()
        counter = 1
        for key, value in dest_dict.items():
            if key == "Keflavik":
                pass
            else:
                if val == counter:
                    arriving_at = value[0]
                    voy_dest_time = int(value[1])
                counter += 1
        return arriving_at, voy_dest_time

    def voy_calculating_flight_times(self, val, departure_not_iso,
                                     departing_from):
        arriving_at, voy_dest_time = self.voy_dest_and_arriving_at(val)

        arrival_not_iso = departure_not_iso + timedelta(hours=voy_dest_time)
        departure = departure_not_iso.isoformat()
        arrival = arrival_not_iso.isoformat()

        departure_return = (arrival_not_iso + timedelta(hours=1)).isoformat()
        arrival_return = (arrival_not_iso + timedelta(hours=1) +
                          timedelta(hours=voy_dest_time)).isoformat()

        departing_from_return = arriving_at
        arriving_return = departing_from

        return departure, arrival, departing_from_return, arriving_return, departure_return, arrival_return

    def check_flight_number(self, flight_number):
        if len(flight_number) != 6:
            return False
        elif flight_number[0:2] != "NA" or flight_number[2:].isalpha():
            return False
        else:
            return True

    def flight_number(self, flight_number):
        voy_dict = self.dvoy.get_voy_dict()
        for key, items in voy_dict.items():
            if key == flight_number:
                return False
        return True

    def create_crew_voyage(self):
        voy_dict = self.dvoy.get_voyage

    def find_staff_with_chosen_rank(self, rank):
        crew_dict = self.demp.get_crew_dict()
        emps_with_chosen_rank = []
        #for line in crew_dict.items():
        for key, value in crew_dict.items():
            temp_list = []
            if value[2] == rank:
                temp_list.append(key)
                temp_list.append(value[0])
                emps_with_chosen_rank.append(temp_list)
        return emps_with_chosen_rank

    def find_available_staff_with_chosen_rank(self, rank, flightNumber):
        available_staff = []
        emps_with_chosen_rank = self.find_staff_with_chosen_rank(rank)
        dep_date, ar_date = self.get_date(flightNumber)
        dep_offemps = self.get_off_emp(dep_date)
        ar_offemps = self.get_off_emp(ar_date)
        for emp in emps_with_chosen_rank:
            if emp[1] in dep_offemps and emp[1] in ar_offemps:
                available_staff.append(emp)
        return available_staff

    def get_date(self, flightnumber):
        return self.dvoy.get_date(flightnumber)

    def picked_emp_for_voyage(self, picked, aircraftID, flightNumber):
        captain, copilot, fsm, fa1, fa2 = picked
        self.dvoy.assign_crew_to_voyage(aircraftID, captain, copilot, fsm, fa1,
                                        fa2)
        self.overwrite_voy_dict(flightNumber, aircraftID, captain, copilot,
                                fsm, fa1, fa2)
        flightNumber = self.find_next_flightnumber(flightNumber)
        self.dvoy.assign_crew_to_voyage(aircraftID, captain, copilot, fsm, fa1,
                                        fa2)
        self.overwrite_voy_dict(flightNumber, aircraftID, captain, copilot,
                                fsm, fa1, fa2)

    def overwrite_voy_dict(self, flightNumber, aircraftID, captain, copilot,
                           fsm, fa1, fa2):
        voy_dict = self.dvoy.get_voy_dict()
        for key, value in voy_dict.items():
            if key == flightNumber:
                value.append(aircraftID)
                value.append(captain)
                value.append(copilot)
                value.append(fsm)
                value.append(fa1)
                value.append(fa2)
        self.dvoy.overwrite_voy_file(voy_dict)

    def find_aircrafts(self):
        return self.dair.get_aircraft_dict()

    def find_next_flightnumber(self, flightNumber):
        voy_dict = self.dvoy.get_voy_dict()
        return_flight = False
        for key, value in voy_dict.items():
            if return_flight == True:
                return key
            if key == flightNumber:
                return_flight = True
        return None

    def certain_date_voy(self, date):
        return self.dvoy.get_date_voy(date)

    def certain_week_voy(self, week):
        return self.dvoy.get_week_voy(week)

    def get_on_emp(self, date):
        name_list = []
        onEmps = self.dvoy.get_on_emp(date)
        allEmps = Employee_Data().get_crew_dict()
        for onemp in onEmps:
            temp_list = []
            for key, value in allEmps.items():
                for ssn in onemp:
                    if key == ssn:
                        temp_list.append(value[0])
            if temp_list != []:
                name_list.append(temp_list)
        return self.dvoy.get_on_emp(date), name_list

    def get_off_emp(self, date):
        allEmps = Employee_Data().get_crew_dict()

        onEmps, name_list = self.get_on_emp(date)
        # print(onEmps)
        offEmps = []
        i = 0
        for emp, value in allEmps.items():
            if i != 0:
                isOff = True

                for onemp in onEmps:
                    if emp in onemp:
                        isOff = False
                if isOff == True:

                    offEmps.append(value[0])
            i += 1

        return offEmps

    def emp_voy_for_week(self, week, ssn):
        manned_voy_list, na = self.dvoy.get_week_voy(week)

        employee_voy_dict = []
        for line in manned_voy_list:
            man_counter = 6
            while man_counter <= 10:
                temp_employee_voy_dict = []
                if line[man_counter] == ssn:
                    temp_employee_voy_dict.append(line[:5])
                    employee_voy_dict.append(temp_employee_voy_dict)
                man_counter += 1
        name = self.get_name_for_ssn(ssn)
        return employee_voy_dict, name

    def get_name_for_ssn(self, ssn):
        emp_values = self.demp.get_chosen_emp(ssn)
        return emp_values[0]

    def check_time(self, year, month, day, hour, minute):
        time = "{}-{}-{}T{}:{}:00".format(year, month, day, hour, minute)
        print(time)
        voy_dict = self.dvoy.get_voy_dict()
        for key, value in voy_dict.items():
            time_str = value[2]
            if time == time_str:
                return False
        return True
Esempio n. 11
0
 def __init__(self):
     #self.dapi = dapi_in
     self.dvoy = Voyage_Data()
     self.ddata = Destination_Data()
     self.demp = Employee_Data()
     self.dair = Aircraft_Data()