def meniu_batch(dictionar, index, lista_undo): print("adaugare : Adauga pachet de calatorie") print("stergere: Stergerea tuturor pachetelor de calatorie disponibile pentru o destinatie data") print("filtrare: Eliminarea ofertelor in care sejurul presupune zile dintr-o anumita luna") print("undo: Refacerea ultimei operatii") sir = input("Introduceti comanda:") sir = sir.split(";") for cmd in sir: args = cmd.split(" ") if args[0] == "adaugare": lista_undo.append(copie_lista(transforma_in_lista(dictionar))) z1 = args[1] l1 = args[2] a1 = args[3] z2 = args[4] l2 = args[5] a2 = args[6] destinatie = args[7] pret = args[8] entitate = creeaza_entitate(z1, l1, a1, z2, l2, a2, destinatie, pret) adauga_entitate_la_dictionar(dictionar, entitate, index) index += 1 elif args[0] == "stergere": lista_undo.append(copie_lista(transforma_in_lista(dictionar))) destinatie = args[1] print(destinatie) lista =[] lista = cauta_pachet_dest(dictionar, destinatie) dictionar = sterge(dictionar, lista) elif args[0] == "filtrare": luna= args[1] lista = [] lista = filtrare_oferte_luna(dictionar, luna) tiparire_pachete(dictionar, lista) elif args[0] == "undo": if(len(lista_undo) == 1): dictionar = transforma_in_dictionar(lista_undo[0]) lista_undo = [] elif len(lista_undo)>1: dictionar = transforma_in_dictionar(lista_undo[-1]) lista_undo.pop() print(dictionar)
def ui_sterge_pachet_durata(dictionar, lista_undo): """Functia citeste de la tastatura numarul de zile minim. Se vor sterge pachetele cu o durata mai scurta decat numarul de zile introdus Date de intrare:dictionar(dict) Date de iesire: dictionar(dict)""" lista_undo.append(copie_lista(transforma_in_lista(dictionar))) nr_zile = verificare_intreg(input("Introduceti numarul de zile minim")) lista = [] lista = cauta_pachet_durata(dictionar, nr_zile) dictionar = sterge(dictionar, lista) return dictionar
def ui_sterge_pachet_dest(dictionar, lista_undo): """Functia citeste de la tastatura o destinatie, modifica dictionarul in memorie si il afiseaza Se vor sterge toate pachetele cu destinatia introdusa Date de intrare: dictionar(dict) Date de iesire: dictionar(dict)""" lista_undo.append(copie_lista(transforma_in_lista(dictionar))) dest_introdusa = input("Introduceti o destinatie:") lista =[] lista = cauta_pachet_dest(dictionar, dest_introdusa) dictionar = sterge(dictionar, lista) return dictionar
def ui_sterge_pachet_pret(dictionar, lista_undo): """Functia citeste de la tastatura un pret si modifica dictionarul in memorie Se vor sterge toate pachetele de calatorie care au pretul mai mare decat o suma data Date de intrare: dictionar(dict) Date de iesire: dictionar(dict)""" lista_undo.append(copie_lista(transforma_in_lista(dictionar))) pret_introdus = verificare_intreg(input("Introduceti o suma:")) lista = [] lista = cauta_pachet_pret(dictionar, pret_introdus) dictionar = sterge(dictionar, lista) return dictionar
def ui_modifica_pachet_calatorie(dictionar, lista_undo): """Functia citeste de la tastatura numarul pachetului ce trebuie modificat, ce anume trebuie modificat si noua valoare pe care o va lua elementul din dictionar Date de intrare: dictionar(dict) Date de iesire: dictionar(dict)""" lista_undo.append(copie_lista(transforma_in_lista(dictionar))) nr_pachet = verificare_intreg(input("Introduceti numarul pachetului pe care doriti sa il modificati")) sir = valideaza_comanda(input("Introduceti ce anume doriti sa modificati: zi_inceput/luna_inceput/an_inceput/zi_sfarsit/luna_sfarsit/an_sfarsit/destinatie/pret")) val = valideaza_valoare(input("Modificati in valoarea: "), sir) nr_pachet = str(nr_pachet) modifica_pachet(dictionar, nr_pachet, sir, val) print("Modificare realizata!") return dictionar
def ui_adauga_pachet_calatorie(index, dictionar, lista_undo): """Functia adauga un nou pachet de calatorie in dictionarul principal sub forma unui nou dictionar, a carui cheie este egala cu indexul curent. De asemenea, are loc validarea datelor introduse de utilizator. Date de intrare: index(int - numarul pachetului ce va fi introdus in dictionar), dictionar(dict) Date de iesire: index """ lista_undo.append(copie_lista(transforma_in_lista(dictionar))) z1 = valideaza_zi(input("Introduceti ziua de inceput:")) l1 = valideaza_luna(input("Introduceti luna de inceput:")) an1 = valideaza_an(input("Introduceti anul de inceput:")) z2 = valideaza_zi(input("Introduceti ziua de sfarsit:")) l2 = valideaza_luna(input("Introduceti luna de sfarsit:")) an2 = valideaza_an(input("Introduceti anul de sfarsit:")) destinatie_introdusa = valideaza_destinatie(input("Introduceti destinatia:")) pret_introdus = valideaza_pret(input("Introduceti pretul in euro:")) entitate = creeaza_entitate(z1, l1, an1, z2,l2, an2, destinatie_introdusa, pret_introdus) dictionar = adauga_entitate_la_dictionar(dictionar, entitate, index) index +=1 return index return dictionar