예제 #1
0
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)             
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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 
예제 #6
0
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