class MakeUIupd(): def __init__(self): self.__new_employee = Employee_service() self.__new_destination = Destination_service() self.__new_aircraft = Aircraft_service() self.__new_voyage = Voyage_service() self.WITDH = 50 self.BORDER = "*" self.QUIT = "'q' - Hætta" self.GO_BACK = "'r' - Til baka" self.PICK = "Veldu skipun:" self.USER_INPUT = ("Valin skipun: ") #self.make_menu() ########################################################################### ############################### Make sub menu ############################# ########################################################################### def make_menu(self): make_input = "" while make_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá")) / 2) * " " + "Nýskrá" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1' - Starfsmann" + "\n" + "'2' - Áfangastað" + "\n" + "'3' - Vinnuferð" + "\n") make_input = input(self.USER_INPUT).lower() print() if make_input != "r": if make_input == "1": self.employee_menu() if make_input == "2": self.destination_menu() if make_input == "3": self.voyage_menu() # if make_input == "4": # self.aircraft_menu() else: print( "Vinsamlegast veldu einn af eftifarandi valmöguleikum!" ) break ###################STARFSMAÐUR VALIN ################################################################################################################ def employee_menu(self): ''' The user can make a new employee which will either be a pilot or an flight attendant, and the employee has to have a ssn,name,rank,liscence,address,phonenumber''' print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmann")) / 2) * " " + "Nýskrá starfsmann" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1' - Skrá flugmann" + "\n" + "'2' - Skrá flugþjón") print() make_input = input(self.USER_INPUT).lower() if make_input == "r": self.make_menu() else: while make_input != "1" and make_input != "2": make_input = input(self.USER_INPUT).lower() print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmann")) / 2) * " " + "Nýskrá starfsmann" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") # new_list = EmployeeMaker() ssn = input("Kennitala: ") name = input("Nafn: ") rank = input("Stöðugildi: ") liscense = input("Réttindi: ") address = input("Heimilisfang: ") phonenumber = input("GSM-Sími: ") save_input = "" while save_input != "1" and save_input != "2": print("\nViltu vista starfsmanninn \n'1' - Já \n'2' - Nei ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": #if the user chooses pilot if make_input == "1": role = "" new_list = [ ssn, name, role, rank, liscense, address, phonenumber ] new_employee = pilot(new_list) self.__new_employee.add_employee(str(new_employee)) elif make_input == "2": # if the user chooses flight attendant role = "" new_list = [ ssn, name, role, rank, liscense, address, phonenumber ] new_employee = flight_attendant(new_list) self.__new_employee.add_employee(str(new_employee)) else: print("Starfsmaður ekki vistaður") self.employee_menu() ###################ÁFANGASTAÐUR VALIN ################################################################################################ def destination_menu(self): ''' The user gets to "make" add a new destination to the system, and the destination must have a destination name, flight time, distance to the destiation from KEF, contact and emergency phone number''' print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá áfangastað")) / 2) * " " + "Nýskrá áfangastað" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") airportID = input("Flugvöllur: ") if airportID == "r": self.make_menu() else: destination = input("Áfangastaður: ") flight_time = input("Flugtími: ") distance = input("Fjarlægð: ") contact = input("Tengiliður: ") emergency_phone = input("Neyðarsími: ") save_input = "" if save_input != "1" and save_input != "2": print("\nViltu vista áfangastað \n'1' - Já: \n'2' - Nei: ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": new_list = [ airportID, destination, flight_time, distance, contact, emergency_phone ] new_destination = Destination(new_list) self.__new_destination.add_destination(str(new_destination)) else: print("Áfangastaður ekki vistaður") self.destination_menu() ###################VINNUFERÐ VALIN ################################################################################################################ def voyage_menu(self): ''' This is were the user can make a voyage. When making a voyage the user must first choose a destination, then he can choose a departing date, after that he can choose a aircraft and the system will shoe him if they are available or not, then the user can add employees if he whants but he can also add them laiter, then finally he can choose to save the voyage or not. ''' self.chosen_destination = "" self.depart_voyage_info = [ "flightnum1", "KEF", 2, 3, 4, 5, "", "", "", "", " " ] # We use "" to represent no employees self.arriv_voyage_info = [ "flightnum2", 1, "KEF", 3, 4, 5, "", "", "", "", " " ] #We know every single voyage starts at KEF and ends at KEF make_input = "" while make_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá vinnuferð")) / 2) * " " + "Nýskrá vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1' - Áfangastaður") print("'2' - Dagsetning og tími") print("'3' - Flugvél") print("'4' - Starfsmenn") print("'5' - Vista vinnuferðina, án eða með starfsmönnum") print() make_input = input(self.USER_INPUT).lower() if make_input == "1": self.voyage_destination() if make_input == "2": self.voyage_date() if make_input == "3": self.voyage_aircraft() if make_input == "4": self.voyage_employees() if make_input == "5": self.save_voyage() if make_input == "r": self.make_menu() break if make_input != "1" or make_input != "2" or make_input != "3" or make_input != "4" or make_input != "r": print("Vinsamlegast veldu eitt af eftifarandi valmöguleikum!") def voyage_destination(self): ''' Choose the destination from a list of all the destinations in the systmen ''' dest_input = "" print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá vinnuferð")) / 2) * " " + "Nýskrá vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu áfangastað: ") all_dest_str, dest_counter = self.__new_destination.get_alldest( ) #Prints a list of all the destinations print(all_dest_str) dest_input = input(self.USER_INPUT) if dest_input.isdigit( ) == False: # if the user doesnt input a number then send him back if dest_input == "r": pass else: print("Veldu áfangastað sem er í boði") self.voyage_destination() elif int(dest_input) >= 1 and int(dest_input) <= int( dest_counter): # or int(dest_input) == "r" print() user_chosen_dest = self.__new_destination.get_dest(dest_input) print( "Áfangastaður: {}\nFlugvöllur: {}\nFlugtími: {}\nFjarlægð: {}\nTengiliður: {}\nNeyðarsímanúmer: {}" .format(user_chosen_dest[1], user_chosen_dest[0], user_chosen_dest[2], user_chosen_dest[3], user_chosen_dest[4], user_chosen_dest[5])) save_input = "" if save_input != "1" and save_input != "2": print( "\nViltu velja þennan áfangastað \n'1' - Já \n'2' - Nei ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": self.chosen_destination = self.__new_destination.get_dest( dest_input) #LYR self.chosen_destination[0] self.chosen_destination = self.chosen_destination[ 0] # We only need the destination ID self.chosen_destination def voyage_date(self): ''' Choose a departing date for the voyage and ''' if self.chosen_destination == "": # To make sure that there is a chosend destination to find out all the dates and times print("Veldu fyrst áfangarstað") else: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá dags/tíma vinnuferðar")) / 2) * " " + "Nýskrá dags/tíma vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Skráðu dagsetningu vinnuferðar: ") print() year = input("Sláðu inn ár: ") #Input aa year while year.isdigit( ) == False: # if its not a number then let them try again print("Vinsamlegast skráðu ár!") year = input("Sláðu inn ár: ") month = input("Sláðu inn númer mánaðar: ") while month.isdigit() == False: print("Vinsamlegast skráðu númer mánaðar!") month = input("Sláðu inn númer mánaðar: ") day = input("Sláðu inn dagsetningu: ") while day.isdigit() == False: print("Vinsamlegast skráðu dagsettningu!") day = input("Sláðu inn dagsettningu: ") hour = input("Sláðu inn klukkustund brottfarar: ") while hour.isdigit() == False: print("Vinsamlegast skráðu klukkutíma!") hour = input("Sláðu inn klukkustund brottfarar: ") mint = input("Sláðu inn mínútu brottfarar: ") while mint.isdigit() == False: print("Vinsamlegast skráðu mínútur!") mint = input("Sláðu inn mínútu brottfarar: ") print() user_chosen_date = [year, month, day, hour, mint, 0] self.depart_date = self.__new_voyage.add_date(user_chosen_date) if self.depart_date != False: # We check if the date is in a valid format and is in the future self.arrival_date = self.__new_voyage.get_arrival_time( self.chosen_destination, self.depart_date) #date 2 self.return_depart = self.__new_voyage.get_return_flight_time( self.chosen_destination, self.arrival_date) #date3 self.return_arrival = self.__new_voyage.get_arrival_time( self.chosen_destination, self.return_depart) #date4 print( "Brottfarartími frá Íslandi:", datetime.datetime.strptime(self.depart_date, "%Y-%m-%dT%H:%M:%S")) print( "Lendingartími á áfangarstað:", datetime.datetime.strptime(self.arrival_date, "%Y-%m-%dT%H:%M:%S")) print( "Brottfarartími frá áfangarstað:", datetime.datetime.strptime(self.return_depart, "%Y-%m-%dT%H:%M:%S")) print( "Lendingartími á Íslandi:", datetime.datetime.strptime(self.return_arrival, "%Y-%m-%dT%H:%M:%S")) print() save_input = "" if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print("Viltu vista dagsetningar \n'1' - Já \n'2' - Nei ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": # If the user wants to save then all the dates are saved in two lists one for departing and other for arriving self.depart_voyage_info[2] = self.chosen_destination self.depart_voyage_info[3] = self.depart_date self.depart_voyage_info[4] = self.arrival_date self.arriv_voyage_info[1] = self.chosen_destination self.arriv_voyage_info[3] = self.return_depart self.arriv_voyage_info[4] = self.return_arrival if save_input == "2": self.voyage_date() # send back else: print("Ógild dagsettning vinsamlegast reyndu aftur.") def voyage_aircraft(self): ''' Choose a aircraft from the "all aircraft list " and in the list it says which aircrafts are free and which are not''' if self.arriv_voyage_info[4] == 4: print("Skráðu fyrst dagsetningu brottfarar.") else: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá flugvél vinnuferðar")) / 2) * " " + "Nýskrá flugvél vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print( self.__new_voyage.print_avail_aircraft(self.depart_date, self.return_arrival)) print(self.GO_BACK + "\n") air_choice = input("Veldu nafn flugvélar: ") while air_choice != "r": valid_or_not = self.__new_voyage.is_valid_aircraft( air_choice, self.depart_date, self.return_arrival ) # checks if the aircraft you chose is in use or not if valid_or_not == True: # if ture then the aircraft is not in use at this date save_input = "" if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print("Viltu vista flugvél? \n'1' - Já \n'2' - Nei ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": self.depart_voyage_info[5] = air_choice self.arriv_voyage_info[5] = air_choice print("Flugvél vistuð.") air_choice = "r" # To go back automatically else: print("Flugvél ekki vistuð") air_choice = "r" else: print("Vinsamlegast veldu lausa flugvél úr listanum!") air_choice = "r" def voyage_employees(self): if self.chosen_destination == "": # To make sure that there is a chosend destination to find out all the dates and times print("Veldu fyrst áfangarstað!") if self.arriv_voyage_info[4] == 4: print("Skráðu fyrst dagsetningu brottfarar!") if self.arriv_voyage_info[5] == 5: print("Skráðu fyrst flugvél vinnuferðar!") else: empl_pick = "" while empl_pick != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("'1' - Veldu flugstjóra") print("'2' - Veldu aðstoðarflugmann") print("'3' - Veldu yfir flugþjón") print("'4' - Veldu flugþjón 2") print("'5' - Veldu flugþjón 3") print() print(self.GO_BACK + "\n") #We use the datetime to get rid of the T so we can send a normal date to the service empl_pick = input(self.USER_INPUT) print() if empl_pick == "1": capt_list = Voyage_crew_service( self.depart_voyage_info[3], self.depart_voyage_info[5] ).get_captain( ) # Send the departure date and the aircraft choice to get the pilots that are available on that date and have a liscence on that plane if capt_list == []: print( "Engir lausir flugstjórar fyrir þessa vél, vinsamlegast veldu aðra vél" ) pass else: print( self.__new_voyage.prnt_str(capt_list) ) #Prints a list of all available captains that are free and have licence on this aircraft empl_pick = input(self.PICK) print() while empl_pick.isdigit( ) == False or int(empl_pick) > len(capt_list) or int( empl_pick ) < 1: # the inputed integer has to be in the capt list range print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu flugstjóra úr listanum!") print(self.__new_voyage.prnt_str(capt_list)) empl_pick = input(self.PICK) else: save_input = "" empl_pick = int(empl_pick) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista flugstjóran? \n'1' - Já \n'2' - Nei " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": empl_pick = int( empl_pick ) - 1 #-1 because in lists we count from 0 and up self.depart_voyage_info[6] = capt_list[ empl_pick][0] self.arriv_voyage_info[6] = capt_list[ empl_pick][0] print("Flugstjóri vistaður") print() else: empl_pick = "r" print("Flugstjóri ekki vistaður") if empl_pick == "2": # Copilot copilot_list = Voyage_crew_service( self.depart_voyage_info[3], self.depart_voyage_info[5]).get_copilot() if copilot_list == []: print( "Engir lausir aðstoðarflugmenn fyrir þessa vél, vinsamlegast veldu aðra vél" ) pass else: print(self.__new_voyage.prnt_str(copilot_list)) empl_pick = input(self.PICK) print() while empl_pick.isdigit() == False or int( empl_pick ) > len(copilot_list) or int( empl_pick ) < 1: # the inputed integer has to be in the capt list range print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu aðstoðarflugmann úr listanum!") print(self.__new_voyage.prnt_str(copilot_list)) empl_pick = input(self.PICK) else: save_input = "" empl_pick = int(empl_pick) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista aðstoðarflugmann? \n'1' - Já \n'2' - Nei " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": empl_pick = int(empl_pick) - 1 self.depart_voyage_info[7] = copilot_list[ empl_pick][0] self.arriv_voyage_info[7] = copilot_list[ empl_pick][0] print("Aðstoðarflugmaður vistaður") print() else: empl_pick = "r" print("Aðstoðarflugmaður ekki vistaður") if empl_pick == "3": flight_service_m_list = Voyage_crew_service( self.depart_voyage_info[3], self.depart_voyage_info[5]).get_fsm() if flight_service_m_list == []: print( "Engir lausir yfirflugþjónar fyrir þetta flug, vinsamlegast velud aðra dagsettningu " ) pass else: print( self.__new_voyage.prnt_str(flight_service_m_list)) empl_pick = input(self.PICK) print() while empl_pick.isdigit() == False or int( empl_pick ) > len(flight_service_m_list) or int( empl_pick ) < 1: # the inputed integer has to be in the capt list range print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu yfirflugþjón úr listanum!") print( self.__new_voyage.prnt_str( flight_service_m_list)) empl_pick = input(self.PICK) else: save_input = "" empl_pick = int(empl_pick) if save_input != "1" and save_input != "2": # Ef hvorki 2 né 1 er sleginn inn þá er aftur spurt um input print(self.GO_BACK + "\n") print( "Viltu vista yfirflugþjóninn? \n'1' - Já \n'2' - Nei " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": empl_pick = int( empl_pick ) - 1 # þar sem staðsetningar í lista telja frá 0 og upp ekki 1 og upp self.depart_voyage_info[ 8] = flight_service_m_list[empl_pick][ 0] self.arriv_voyage_info[ 8] = flight_service_m_list[empl_pick][ 0] print("Yfirflugþjónn vistaður") print() else: empl_pick = "r" print("Yfirflugþjón ekki vistaður") if empl_pick == "4": flight_attendant_list = Voyage_crew_service( self.depart_voyage_info[3], self.depart_voyage_info[5]).get_fa() if flight_attendant_list == []: print( "Engir lausir flugþjónar fyrir fyrir þetta flug, vinsamlegast velud aðra dagsettningu" ) pass else: print( self.__new_voyage.prnt_str(flight_attendant_list)) empl_pick = input(self.PICK) print() while empl_pick.isdigit() == False or int( empl_pick ) > len(flight_attendant_list) or int( empl_pick ) < 1: # the inputed integer has to be in the capt list range print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu yfirflugþjón úr listanum!") print( self.__new_voyage.prnt_str( flight_attendant_list)) empl_pick = input(self.PICK) else: save_input = "" empl_pick = int(empl_pick) if save_input != "1" and save_input != "2": # Ef hvorki 2 né 1 er sleginn inn þá er aftur spurt um input print(self.GO_BACK + "\n") print( "Viltu vista yfirflugþjóninn? \n'1' - Já \n'2' - Nei " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": empl_pick = int( empl_pick ) - 1 # þar sem staðsetningar í lista telja frá 0 og upp ekki 1 og upp self.depart_voyage_info[ 9] = flight_attendant_list[empl_pick][ 0] self.arriv_voyage_info[ 9] = flight_attendant_list[empl_pick][ 0] print("Yfirflugþjónn vistaður") print() else: empl_pick = "r" print("Yfirflugþjón ekki vistaður") if empl_pick == "5": flight_attendant_list = Voyage_crew_service( self.depart_voyage_info[3], self.depart_voyage_info[5]).get_fa() if flight_attendant_list == []: print( "Engir lausir aðstoðarflugmenn fyrir fyrir þetta flug, vinsamlegast velud aðra dagsettningu" ) pass else: print( self.__new_voyage.prnt_str(flight_attendant_list)) empl_pick = input(self.PICK) print() while empl_pick.isdigit() == False or int( empl_pick ) > len(flight_attendant_list) or int( empl_pick ) < 1: # the inputed integer has to be in the capt list range print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu yfirflugþjón úr listanum!") print( self.__new_voyage.prnt_str( flight_attendant_list)) empl_pick = input(self.PICK) else: save_input = "" empl_pick = int(empl_pick) if save_input != "1" and save_input != "2": # Ef hvorki 2 né 1 er sleginn inn þá er aftur spurt um input print(self.GO_BACK + "\n") print( "Viltu vista yfirflugþjóninn? \n'1' - Já: \n'2' - Nei: " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": empl_pick = int( empl_pick ) - 1 # þar sem staðsetningar í lista telja frá 0 og upp ekki 1 og upp self.depart_voyage_info[ 10] = flight_attendant_list[empl_pick][ 0] self.arriv_voyage_info[ 10] = flight_attendant_list[empl_pick][ 0] print("Yfirflugþjónn vistaður") print() else: empl_pick = "r" print("Yfirflugþjón ekki vistaður") def save_voyage(self): #First the user has to pick a destination, date and aricraft so that he can save the voyage if self.arriv_voyage_info[5] == 5: print("Skráðu fyrst flugvél vinnuferðar!") elif self.arriv_voyage_info[4] == 4: print("Skráðu fyrst dagsetningu brottfarar!") elif self.chosen_destination == "": # To make sure that there is a chosend destination to find out all the dates and times print("Veldu fyrst áfangarstað!") else: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Nýskrá starfsmenn vinnuferðar")) / 2) * " " + "Nýskrá starfsmenn vinnuferðar" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Viltu vista vinnuferð með eftirfarandi upplýsingum?") print() print("Brottfarartími frá Íslandi: {}".format( self.depart_voyage_info[1])) print("Lendingartími á áfangarstað: {}".format( self.depart_voyage_info[2])) print("Brottfarartími frá áfangarstað: {}".format( self.arriv_voyage_info[3])) print("Lendingartími á Íslandi: {}".format( self.arriv_voyage_info[4])) print("Flugvél: {}".format(self.depart_voyage_info[5])) print("Flugstjóri: {}".format(self.depart_voyage_info[6])) print("Aðstoðarflugmaður: {}".format(self.depart_voyage_info[7])) print("Yfir flugþjónn: {}".format(self.depart_voyage_info[8])) print("Flugþjónn: {}".format(self.depart_voyage_info[9])) print("Flugþjónn 3: {}".format(self.depart_voyage_info[10])) print() save_input = "" if save_input != "1" and save_input != "2": # Ef hvorki 2 né 1 er sleginn inn þá er aftur spurt um input print(self.GO_BACK + "\n") print("Viltu vista Vinnuferð \n'1' - Já \n'2' - Nei ") save_input = input(str(self.USER_INPUT)) print() if save_input == "1": flight_nums = self.__new_voyage.add_flight_nums( self.depart_voyage_info[2] ) # adds flight numbers to the voyage self.depart_voyage_info[0] = flight_nums[0] self.arriv_voyage_info[0] = flight_nums[1] the_voyage_str = Voyage(self.depart_voyage_info, self.arriv_voyage_info ) #turn the lists into to strings self.__new_voyage.add_voyage(str(the_voyage_str)) else: print("Vinnuferð ekki vistuð.") self.voyage_menu()
class GetUI(): def __init__(self): self.__get_employee = Employee_service() self.__get_destination = Destination_service() self.__get_pastflight = Past_flight_service() self.__get_upcflight = Upcoming_flight_service() self.__get_voyage = Voyage_service() #self.__get_worktime = Worktime_service() self.WITDH = 50 self.BORDER = "*" self.QUIT = "'q' - Hætta" self.GO_BACK = "'r' - Til baka" self.PICK = "Veldu skipun:" self.USER_INPUT = ("Valin skipun: ") # self.get_menu() ########################################################################### ############################### get sub menu ############################## ########################################################################### def get_menu(self): get_input = "" while get_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja")) / 2) * " " + "Sækja" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1' - Starfsmann" + "\n" + "'2' - Áfangastað" + "\n" + "'3' - Vinnuferð" + "\n" + "'4' - Vinnutímar starfsmanna" + "\n") get_input = input(self.USER_INPUT) print() if get_input != "r": if get_input == "1": self.employee_menu() if get_input == "2": self.destination_menu() if get_input == "3": self.voyage_menu() if get_input == "4": self.worktime_menu() else: print("Vinsamlegast veldu eitt af eftirfarandi!") break else: pass def employee_menu(self): ''' If the user inputed '1' he gets to the employee menu. Here the user can choose what information he whants to see he can choose to see all employees in a list, only the pilots, only the flight attendants or look up a specific employee by his ssn number ''' get_input = "" if get_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja starfsmann")) / 2) * " " + "Sækja starfsmann" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1'- Allir starfsmenn") print("'2' - Flugmenn") print("'3' - Flugþjónn") print("'4' - Leita af starfsmanni") print() get_input = input(self.USER_INPUT) while get_input != "1" and get_input != "2" and get_input != "3" and get_input != "4" and get_input != "r": # We have to make sure that if the user inputs something that is not available there will not be an error print("Innsláttarvilla!\nVinsamlegast veldu aftur") print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja starfsmann")) / 2) * " " + "Sækja starfsmann" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1'- Allir starfsmenn") print("'2' - Flugmenn") print("'3' - Flugþjónn") print("'4' - Leita af starfsmanni") get_input = input(self.USER_INPUT) if get_input == "1": print(self.__get_employee.get_allemployees() ) # Prints all the employees, their ssn, name and role while get_input != "r": print(self.GO_BACK + "\n") get_input = input(self.USER_INPUT) else: self.employee_menu() if get_input == "2": #Get only pilots print() print(self.__get_employee.get_pilots()) while get_input != "r": print(self.GO_BACK + "\n") get_input = input(self.USER_INPUT) else: self.employee_menu() if get_input == "3": #Get flight attendants print() print(self.__get_employee.get_flightattendants()) while get_input != "r": print(self.GO_BACK + "\n") get_input = input(self.USER_INPUT) else: self.employee_menu() if get_input == "4": # Get one employee by his ssn number and the user inputs the ssn print() print(self.GO_BACK + "\n") employee_ssn_input = "" while employee_ssn_input != "r": employee_ssn_input = input("Kennitala starfsmanns: ") empl_info_lst = self.__get_employee.get_employee( employee_ssn_input) if empl_info_lst != False: # If empl_info_list returns false then the employee is not in the system/or the ssn was inputed wrong if get_input != "r": info_output = Employee(empl_info_lst) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja starfsmann")) / 2) * " " + "Sækja starfsmanni" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("Kennitala: {}".format( info_output.get_ssn())) print("Nafn: {}".format(info_output.get_name())) print("Starfsheiti: {}".format( info_output.get_role())) print("Stöðugildi: {}".format( info_output.get_rank())) print("Leyfi: {}".format( info_output.get_licence())) print("Heimilisfang: {}".format( info_output.get_address())) print("Símanúmer: {}".format( info_output.get_phone())) print() get_input = input(self.USER_INPUT) else: self.employee_menu() else: if employee_ssn_input == "r": self.employee_menu() print() print("Starfsmaður ekki til! Vitlaus kennitala.") print() def destination_menu(self): ''' The program prints a list of all the available destinations and the user can choose which one he wants to get more information on he cannot do anything with the infirmation other then look at it''' get_input = "" while get_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja áfangastað")) / 2) * " " + "Sækja áfangastað" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") prnt_str, counter = self.__get_destination.get_alldest( ) #Prints a list of all the destinations and the counter for how many destinations there are print(prnt_str) print(self.GO_BACK + "\n") get_input = input( self.USER_INPUT ) # User chooses which destination he wants to get more info on if get_input.isdigit( ) == False: # if the user doesnt input a number then make him choose again if get_input == "r": self.get_menu() break else: print("Veldu áfangastað sem er í boði!") self.destination_menu() break elif get_input.isdigit() == True and int(get_input) >= 1 and int( get_input) <= int(counter - 1): # the user inputs must be a digit if get_input != "r": print() print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Áfangastaður")) / 2) * " " + "Áfangastaður" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") chosen_dest = self.__get_destination.get_dest( get_input ) #Takes the users input and sends it to get the destinaton he chose output = Destination(chosen_dest) print("Áfangastaður: {}".format( output.get_destinationName())) print("Flugvöllur: {}".format(output.get_destinationId())) print("Flugtími: {}".format(output.get_flighttime())) print("Fjarlægð: {}".format(output.get_distance())) print("Tengiliður: {}".format(output.get_contact())) print("Neyðarsímanúmer: {}".format(output.get_phone())) while get_input != "r": print() print(self.GO_BACK + "\n") get_input = input(self.USER_INPUT) if get_input == "r": self.destination_menu() break else: self.get_menu() break def voyage_menu(self): ''' Here the user can choose to se old or new voyages, and in both of those categories he can choose to se a voyage on a specific date or to see all voyages in a certain time window that he chooses''' get_input = "" while get_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja vinnuferðir")) / 2) * " " + "Sækja vinnuferðir" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("'1' - Til að sjá gamlar vinnuferðir") print("'2' - Til að sjá áætlaðir vinnuferðir") print() print(self.GO_BACK + "\n") get_input = input(self.USER_INPUT) if get_input != "1" and get_input != "2" and get_input != "r": print("Vinsamlegast veldu eitt af eftirfarandi!") self.voyage_menu() if get_input == "r": self.get_menu() break elif get_input == "1": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("'1' - Sjá gamlar vinnuferðir á tímabili") print("'2' - Sjá gamlar vinnuferðir á ákveðni dagsetningu") print() print(self.GO_BACK + "\n") old_voyage = input(self.USER_INPUT) if old_voyage != "1" and old_voyage != "2" and old_voyage != "r": print("Vinsamlegast veldu eitt af eftirfarandi!") elif old_voyage == "1": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") first_date = "Skráðu fyrri dagsetningu tímabilsins" next_date = "Skráðu seinni dagsetning tímabilsins " date1 = self.__get_voyage.get_date_voyage( first_date ) # this is a fucntion were the user inputs the dates date2 = self.__get_voyage.get_date_voyage(next_date) if date1 == False or date2 == False: # To make sure that the user inputs a date that is available print() print( "Vitlausar dagsetningar!\nSkráðu réttan brottfarartíma!" ) self.voyage_menu() break else: past_flightss = self.__get_pastflight.get_pastflights( date1, date2) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(past_flightss) elif old_voyage == "2": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") only_date = "Skráðu dagsetnungu vinnuferða" date = self.__get_voyage.get_date_voyage(only_date) past_flight = self.__get_pastflight.get_pastflight(date) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print() print(past_flight) print() elif get_input == "2": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("'1' - Sjá áætlaðar vinnuferðir á tímabili") print("'2' - Sjá áætlaðar vinnuferðor á ákveðni dagsetningu") print() print(self.GO_BACK + "\n") upcm_voyage = input(self.USER_INPUT) print() if upcm_voyage != "1" and upcm_voyage != "2" and upcm_voyage != "r": print("Vinsamlegast veldu eitt af eftirfarandi!") elif upcm_voyage == "1": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") first_date = "Skráðu fyrri dagsetningu tímabilsins" next_date = "Skráðu seinni dagsetning tímabilsins " date1 = self.__get_voyage.get_date_voyage(first_date) date2 = self.__get_voyage.get_date_voyage(next_date) if date1 == False or date2 == False: print() print( "Vitlausar dagsetningar!\nSkráðu réttan brottfarartíma!" ) self.voyage_menu() break else: upc_flightss = self.__get_upcflight.get_upcomingflights( date1, date2) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(upc_flightss) elif upcm_voyage == "2": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") only_date = "Skráðu dagsetningu vinnuferða" date = self.__get_voyage.get_date_voyage(only_date) upc_flight = self.__get_upcflight.get_upcomingflight(date) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Vinnuferð")) / 2) * " " + "Vinnuferð" + "\n" + self.BORDER * self.WITDH) print() print(upc_flight) print() def worktime_menu(self): ''' The user can choose to see a list of all the employees that are not / or are working on a specific date the user can also see the work summary for one employee''' get_input = "" while get_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja vinnutíma")) / 2) * " " + "Sækja vinnutíma" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print( "'1' - Sjá lista yfir alla starfsmenn sem eru ekki að vinna ákveðin dag" ) print( "'2' - Sjá lista yfir alla starfsmenn sem eru að vinna ákveðin dag" ) print("'3' - Sjá vinnuyfirlit fyrir ákveðins starfsmanns") print() get_input = input(self.USER_INPUT) if get_input != "1" and get_input != "2" and get_input != "3": print("Vinsamlegast veldu eitthvert af eftirfarandi!") elif get_input == "1": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja vinnutíma")) / 2) * " " + "Sækja vinnutíma" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") prnt_str = ("Skráðu dagsetningu") date = self.__get_voyage.get_date_voyage( prnt_str) # User chooses the date not_working = Worktime_service(date).not_working_list() print() print(self.__get_voyage.print_list(not_working)) elif get_input == "2": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja vinnutíma")) / 2) * " " + "Sækja vinnutíma" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") prnt_str = ("Skráðu dagsetningu") date = self.__get_voyage.get_date_voyage( prnt_str) # User chooses the date working = Worktime_service( date).print_working_list_destination() if working == " ": print("Dagsetning ekki til") print() print(working) #print(self.__get_voyage.print_list(working)) # Prints out the list of employees that are working and the destination he is going to on that date elif get_input == "3": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Sækja vinnutíma")) / 2) * " " + "Sækja vinnutíma" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") first_date = "\nSkráðu fyrri dagsetningu tímabilsins" next_date = "Skráðu seinni dagsetning tímabilsins " date1 = self.__get_voyage.get_date_voyage(first_date) date2 = self.__get_voyage.get_date_voyage(next_date) print() ssn_input = input("\nSkráðu kennitölu starfsmanns: ") if ssn_input != "r": empl_info_lst = self.__get_employee.get_employee(ssn_input) if empl_info_lst != False: upc_flightss = self.__get_upcflight.get_upcomingflights_list_selected_time( date1, date2) # print(upc_flightss) print( self.__get_upcflight.find_empl_worktime( ssn_input, upc_flightss)) else: if ssn_input == "r": self.worktime_menu() print("Starfsmaður ekki til! Vitlaus kennitala.") self.worktime_menu() break
class ChangeUI(): def __init__(self): self.__change_employee = Employee_service() self.__change_dest = Destination_service() self.__change_voyage = Voyage_service() self.__get_upcflight = Upcoming_flight_service() self.WITDH = 50 self.BORDER = "*" self.QUIT = "'q' - Hætta" self.GO_BACK = "'r' - Til baka" self.PICK = "Veldu skipun:" self.USER_INPUT = ("Valin skipun: ") # self.change_menu() ########################################################################### ############################### change sub menu ########################### ########################################################################### def change_menu(self): change_input = "" # til að maður geti bakkað um 1 í stað þess að quita bara while change_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta")) / 2) * " " + "Breyta" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK + "\n") print("'1' - Starfsmann" + "\n" + "'2' - Vinnuferð" + "\n" + "'3' - Áfangastað" + "\n") change_input = input(self.USER_INPUT).lower() print() if change_input != "r": if change_input == "1": self.employee_menu() if change_input == "2": self.voyage_menu() if change_input == "3": self.destination_menu() else: print( "Vinsamlegast veldu eitt af eftir farandi möguleikum") break ################################## STARFSMENN VALINN ########################################################### def employee_menu(self): ''' The user has to choose a user to change by inputing his ssn. The user can not change the employees name or ssn but he can choose if he wants to change the role, rankm licence, address, phonenumber. ''' change_employee_input = "" print(self.GO_BACK + "\n") employee_ssn_input = input("Kennitala starfsmanns: ") if employee_ssn_input != "r": empl_info_lst = self.__change_employee.get_employee( employee_ssn_input) if empl_info_lst != False: while change_employee_input != "r": empl_info_lst = self.__change_employee.get_employee( employee_ssn_input) info_output = Employee(empl_info_lst) print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta starfsmanni")) / 2) * " " + "Breyta starfsmanni" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Kennitala: {}".format(info_output.get_ssn())) print("Nafn: {}".format(info_output.get_name())) print("'1' - Starfsheiti: {}".format( info_output.get_role())) print("'2' - Stöðugildi: {}".format( info_output.get_rank())) print("'3' - Leyfi: {}".format(info_output.get_licence())) print("'4' - Heimilisfang: {}".format( info_output.get_address())) print("'5' - Símanúmer: {}".format( info_output.get_phone())) print() print(self.GO_BACK + "\n") change_employee_input = input( self.USER_INPUT ) # Input what attribute you whant to change print() if change_employee_input == "r": self.change_menu elif change_employee_input != "1" and change_employee_input != "2" and change_employee_input != "3" and change_employee_input != "4" and change_employee_input != "5": print("Vinsamlegast veldu það sem þú vilt breyta!") pass else: # Go back if you dont whant to edit what you picked print(self.GO_BACK + "\n") the_change = input("Skráðu breytingu: ") if the_change != "r": save_input = "" if save_input != "1" and save_input != "2": print( "\nViltu vista starfsmanninn \n'1' - Já: \n'2' - Nei: " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": print( self.__change_employee.change_employee( change_employee_input, the_change, employee_ssn_input)) else: pass else: self.employee_menu() else: if employee_ssn_input == "r": self.change_menu() print("Starfsmaður ekki til! Vitlaus kennitala.") self.employee_menu() else: self.change_menu() ################################## VINNUFERÐ VALINN########################################################### def voyage_menu(self): ''' The user can change what employees are on a voyage. He first has to find a voyage by inputing a specific date, then he can choose from 5 employee slots to fill in or change employees that were already in the voyage out ''' change_input = "" while change_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(self.GO_BACK) print("'Enter' - Til að velja dagsetningu.") print() change_input = input("Viltu velja dagsetningu? ") if change_input == "r": self.change_menu() break else: a_prnt_str = "Veldu dagsetningu vinnuferðar sem þú vilt breyta" date = self.get_date_voyage(a_prnt_str) the_flight = self.__get_upcflight.get_upcomingflight_list(date) if the_flight[ 1] != "KEF": # To make sure that the user inputs a departing date print() print("Flug fannst ekki!\nSkráðu réttan brottfarartíma!") self.voyage_menu() break else: change_flight = self.__get_upcflight.get_upcomingflight( date) date1, date2 = self.__get_upcflight.get_upcoming_voyage( date) while change_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print(change_flight) print("Starfsmenn vinnuferðar") print("'1' - Flugstjóri: {}".format(date1[6])) print("'2' - Aðstoðarflugmaður: {}".format(date1[7])) print("'3' - Yfirflugþjónn: {}".format(date1[8])) print("'4' - Flugþjónn 1: {}".format(date1[9])) print("'5' - Flugþjónn 2: {}".format(date1[10])) print() print(self.GO_BACK + "\n") change_input = input(self.USER_INPUT).lower() if change_input != "1" and change_input != "2" and change_input != "3" and change_input != "4" and change_input != "5": if change_input == "r": self.voyage_menu() else: print( "Vinsamlegast veldu starfsmann til að breyta/skrá í vinnuferð!" ) pass else: if change_input == "1": print(self.BORDER * self.WITDH + "\n" + int( (self.WITDH - len("Lausir starfsmenn")) / 2) * " " + "Lausir starfsmenn" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Breyta/skrá flugstjóra.") print() capt_list = Voyage_crew_service( date1[3], date1[5]).get_captain() if capt_list == []: print( "Engir lausir flugstjórar fyrir þessa vél, vinsamlegast veldu aðra vél" ) pass else: print( self.__change_voyage.prnt_str( capt_list)) change_input = input(self.USER_INPUT) print() while change_input.isdigit( ) == False or int(change_input) > len( capt_list) or int( change_input) < 1: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu flugstjóra úr listanum!") print( self.__change_voyage.prnt_str( capt_list)) change_input = input(self.USER_INPUT) else: save_input = "" change_input = int(change_input) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista flugstjóran? \n'1' - Já: \n'2' - Nei: " ) save_input = input( str(self.USER_INPUT)) print() if save_input == "1": change_input = int( change_input) - 1 date1[6] = capt_list[change_input][ 0] date2[6] = capt_list[change_input][ 0] self.__get_upcflight.change_upcoming_voyage( date1, date2) print("Flugstjóri vistaður") print() else: empl_pick = "r" print("Flugstjóri ekki vistaður") if change_input == "2": print(self.BORDER * self.WITDH + "\n" + int( (self.WITDH - len("Lausir starfsmenn")) / 2) * " " + "Lausir starfsmenn" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Breyta/skrá aðstoðarflugmanni.") copilot_list = Voyage_crew_service( date1[3], date1[5]).get_copilot() if copilot_list == []: print( "Engir lausir aðstoðarflugmenn fyrir þessa vél, vinsamlegast veldu aðra vél" ) pass else: print( self.__change_voyage.prnt_str( copilot_list)) change_input = input(self.USER_INPUT) print() while change_input.isdigit( ) == False or int(change_input) > len( copilot_list) or int( change_input) < 1: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print( "Veldu aðstoðarflugmann úr listanum!" ) print( self.__change_voyage.prnt_str( copilot_list)) change_input = input(self.USER_INPUT) else: save_input = "" change_input = int(change_input) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista aðstoðarflugmanninn? \n'1' - Já: \n'2' - Nei: " ) save_input = input( str(self.USER_INPUT)) print() if save_input == "1": change_input = int( change_input) - 1 date1[7] = copilot_list[ change_input][0] date2[7] = copilot_list[ change_input][0] self.__get_upcflight.change_upcoming_voyage( date1, date2) print("Flugstjóri vistaður") print() else: empl_pick = "r" print( "Aðstoðarflugmann ekki vistaður" ) if change_input == "3": print(self.BORDER * self.WITDH + "\n" + int( (self.WITDH - len("Lausir starfsmenn")) / 2) * " " + "Lausir starfsmenn" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Breyta/skrá yfirflugþjóni.") flight_service_m_list = Voyage_crew_service( date1[3], date1[5]).get_fsm() if flight_service_m_list == []: print( "Engir lausir yfirflugþjónar fyrir þessa dagsetningu!" ) pass else: print( self.__change_voyage.prnt_str( flight_service_m_list)) change_input = input(self.USER_INPUT) print() while change_input.isdigit( ) == False or int(change_input) > len( flight_service_m_list) or int( change_input) < 1: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print( "Veldu yfirflugþjón úr listanum!") print( self.__change_voyage.prnt_str( flight_service_m_list)) change_input = input(self.USER_INPUT) else: save_input = "" change_input = int(change_input) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista yfirflugþjóninn? \n'1' - Já: \n'2' - Nei: " ) save_input = input( str(self.USER_INPUT)) print() if save_input == "1": change_input = int( change_input) - 1 date1[8] = flight_service_m_list[ change_input][0] date2[8] = flight_service_m_list[ change_input][0] self.__get_upcflight.change_upcoming_voyage( date1, date2) print("Yfirflugþjónn vistaður") print() else: empl_pick = "r" print( "Yfirflugþjónn ekki vistaður") if change_input == "4": print(self.BORDER * self.WITDH + "\n" + int( (self.WITDH - len("Lausir starfsmenn")) / 2) * " " + "Lausir starfsmenn" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Breyta/skrá flugþjóni 1.") flight_attendant_list = Voyage_crew_service( date1[3], date1[5]).get_fa() if flight_attendant_list == []: print( "Engir lausir flugþjónar fyrir þessa dagsetningu!" ) pass else: print( self.__change_voyage.prnt_str( flight_attendant_list)) change_input = input(self.USER_INPUT) print() while change_input.isdigit( ) == False or int(change_input) > len( flight_attendant_list) or int( change_input) < 1: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu flugþjóna úr listanum!") print( self.__change_voyage.prnt_str( flight_attendant_list)) change_input = input(self.USER_INPUT) else: save_input = "" change_input = int(change_input) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista flugþjóninn? \n'1' - Já: \n'2' - Nei: " ) save_input = input( str(self.USER_INPUT)) print() if save_input == "1": change_input = int( change_input) - 1 date1[9] = flight_attendant_list[ change_input][0] date2[9] = flight_attendant_list[ change_input][0] self.__get_upcflight.change_upcoming_voyage( date1, date2) print("Flugþjónn vistaður") print() else: empl_pick = "r" print("Flugþjónn ekki vistaður") if change_input == "5": print(self.BORDER * self.WITDH + "\n" + int( (self.WITDH - len("Lausir starfsmenn")) / 2) * " " + "Lausir starfsmenn" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Breyta/skrá flugjóni 2.") flight_attendant_list = Voyage_crew_service( date1[3], date1[5]).get_fa() if flight_attendant_list == []: print( "Engir lausir flugþjónar fyrir þessa dagsetningu!" ) pass else: print( self.__change_voyage.prnt_str( flight_attendant_list)) change_input = input(self.USER_INPUT) print() while change_input.isdigit( ) == False or int(change_input) > len( flight_attendant_list) or int( change_input) < 1: print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Veldu flugþjón úr listanum!") print( self.__change_voyage.prnt_str( flight_attendant_list)) change_input = input(self.USER_INPUT) else: save_input = "" change_input = int(change_input) if save_input != "1" and save_input != "2": print(self.GO_BACK + "\n") print( "Viltu vista flugþjóninn? \n'1' - Já: \n'2' - Nei: " ) save_input = input( str(self.USER_INPUT)) print() if save_input == "1": change_input = int( change_input) - 1 date1[10] = flight_attendant_list[ change_input][0] date2[10] = flight_attendant_list[ change_input][0] self.__get_upcflight.change_upcoming_voyage( date1, date2) print("Flugþjónn vistaður") print() else: empl_pick = "r" print("Flugþjónn ekki vistaður") ################################## Áfangastað VALINN########################################################### def destination_menu(self): ''' The user can change the contact and emergency phone for all of the destinations. ''' change_input = "" if change_input != "r": print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta áfangastað")) / 2) * " " + "Breyta áfangastað" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") prnt_str, counter = self.__change_dest.get_alldest( ) # prints out a list of all available destinations print(prnt_str) print(self.GO_BACK + "\n") change_input = input(self.USER_INPUT) if change_input.isdigit( ) == False: # if the user doesnt input a number then send him back if change_input == "r": self.change_menu() else: print("Veldu áfangastað sem er í boði!") self.destination_menu() elif change_input.isdigit() == True and int( change_input) >= 1 and int(change_input) <= int(counter): print() chosen_dest = self.__change_dest.get_dest(change_input) output = Destination(chosen_dest) change_input = "" while change_input != "1" and change_input != "2": if change_input == "r": self.destination_menu() break print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta áfangastað")) / 2) * " " + "Breyta áfangastað" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") print("Áfangastaður: {}".format( output.get_destinationName())) print("Flugvöllur: {}".format(output.get_destinationId())) print("Flugtími: {}".format(output.get_flighttime())) print("Fjarlægð: {}".format(output.get_distance())) print("'1' - Tengiliður: {}".format(output.get_contact())) print("'2' - Neyðarsímanúmer: {}".format( output.get_phone())) print() print(self.GO_BACK + "\n") change_input = input(self.USER_INPUT).lower() print() if change_input != "1" and change_input != "2": # contact print("Skipun ekki til. Vinsmlegast reyndu aftur!") pass else: print(self.GO_BACK + "\n") the_change = input("Skráðu breytingu: ") if the_change != "r": save_input = "" if save_input != "1" and save_input != "2": print( "\nViltu vista áfangastað \n'1' - Já: \n'2' - Nei: " ) save_input = input(str(self.USER_INPUT)) print() if save_input == "1": print("Áfangastaður vistaður ") print( self.__change_dest.change_dest( change_input, the_change, chosen_dest[0])) self.destination_menu() break else: print("Áfangastaður ekki vistaður ") pass else: print("Skipun ekki til. Vinsmlegast reyndu aftur!") self.destination_menu() else: self.change_menu() def get_date_voyage(self, prnt_str): print(self.BORDER * self.WITDH + "\n" + int((self.WITDH - len("Breyta vinnuferð")) / 2) * " " + "Breyta vinnuferð" + "\n" + self.BORDER * self.WITDH) print(self.PICK + "\n") self.prnt_str = prnt_str print(prnt_str) print() year = input("Sláðu inn ár: ") #Input a year while year.isdigit( ) == False: # if its not a number then let them try again print("Vinsamlegast skráðu ár!") year = input("Sláðu inn ár: ") month = input("Sláðu inn númer mánaðar: ") while month.isdigit() == False: print("Vinsamlegast skráðu númer mánaðar!") month = input("Sláðu inn númer mánaðar: ") day = input("Sláðu inn dagsetningu: ") while day.isdigit() == False: print("Vinsamlegast skráðu dagsettningu!") day = input("Sláðu inn dagsettningu: ") hour = input("Sláðu inn klukkustund brottfarar: ") while hour.isdigit() == False: print("Vinsamlegast skráðu klukkutíma!") hour = input("Sláðu inn klukkustund brottfarar: ") mint = input("Sláðu inn mínútu brottfarar: ") while mint.isdigit() == False: print("Vinsamlegast skráðu mínútur!") mint = input("Sláðu inn mínútu brottfarar: ") user_chosen_date = [year, month, day, hour, mint, 0] date = self.__get_upcflight.add_date( user_chosen_date ) # The date gets set to the right format in add_date return date