示例#1
0
def dodaj_prodavca():
    korisnici = uzmi_korisnike()

    username = try_str("Unesite korisnicko ime: ")
    lozinka = try_str("Unesite lozinku: ")
    lozinka2 = try_str("Ponovite lozinku: ")

    if lozinka != lozinka2:
        print("Lozinke se ne poklapaju")
        dodaj_prodavca()

    ime = try_str("Unesite ime korisnika: ")
    prezime = try_str("Unesite prezime korisnika: ")
    uloga = "Prodavac"

    novi_korisnik = {
        "Korisnicko": username,
        "Lozinka": lozinka,
        "Ime": ime,
        "Prezime": prezime,
        "Uloga": uloga
    }

    korisnici.append(novi_korisnik)
    zapisi_korisnike(korisnici)
示例#2
0
def pretraga_generic(projekcije, parametar):
    print("-" * 50)
    if parametar == "Datum":
        unos = try_datum("Unesite datum projekcije, format: d-m-yyyy: ")
    elif parametar == "ID":
        unos = try_str("Unesite ID projekcije: ")
    elif parametar == "Sala":
        unos = try_str("Unesite broj sale za pretragu: ")

    for i in projekcije:
        for k, v in i.items():
            if k == parametar:
                if v.lower().__contains__(unos):
                    print("-" * 50)
                    print(format_projekciju(i))


# Nacin da se sve proveri, koristi prefixe za ID i Salu

# if len(unos) <= 1:
#     print("-" * 50)
#     print("Unos ne sme biti samo jedan broj!")
#     pretraga()

# if try_datum_bez(unos):
#     for i in projekcije:
#         for k, v in i.items():
#             if k == "Datum":
#                 if v.lower().__contains__(unos):
#                     print(format_projekciju(i))

# if len(unos.split(":")) >= 2:
#     prefix = unos.split(":")[0]
#     val = unos.split(":")[1]
#     val = val.strip()
#     for i in projekcije:
#         for k, v in i.items():
#             if k.lower() == prefix:
#                 if v.lower().__contains__(val):
#                     print("-" * 50)
#                     print(format_projekciju(i))

# unos = try_str("Unesite Naziv ili Zanr projekcije: ").lower()
#             for i in projekcije:
#                 for k, v in i.items():
#                     if k == "Naziv" or k == "Zanr":
#                         if i[k].lower().__contains__(
#                                 unos) or i[k].lower() == unos:
#                             print("-" * 50)
#                             print(format_projekciju(i))
示例#3
0
def dodaj_projekciju():
    projekcije = uzmi_projekcije()
    izabranFilm = izaberi_film()

    print("-" * 50)
    print("Projekcije koje vec postoje")
    prikazi_projekcije()

    while True:
        print("-" * 50)
        idProj = try_str("Unesite ID projekcije: ")
        postojiID = False

        for i in projekcije:
            if idProj == i["ID"]:
                print("Postoji ID, probajte ponovo")
                postojiID = True

        if postojiID == False:
            break

    if postojiID == False:
        nova_projekcija = prikupi_inpute(idProj, izabranFilm)
        print("Uspesno ste dodali projekciju")
        projekcije.append(nova_projekcija)
        zapisi_projekcije(projekcije)
示例#4
0
def dodaj_film():
    filmovi = uzmi_filmove()

    naziv = try_str("Naziv filma: ")
    zanr = try_str("Zanr: ")
    trajanje = try_minutes("Trajanje u minutima: ")

    temp_film = {
        "ID": str(len(filmovi) + 1),
        "Naziv": naziv,
        "Zanr": zanr,
        "Trajanje": trajanje
    }

    filmovi.append(temp_film)
    zapisi_filmove(filmovi)
    return (temp_film)
示例#5
0
def izmeni_projekciju():
    projekcije = uzmi_projekcije()

    print("-" * 50)
    print("Projekcije koje vec postoje")
    prikazi_projekcije()

    while True:
        print("-" * 50)
        idProj = try_str("Unesite ID projekcije: ")
        postoji = False

        for i in projekcije:
            if idProj == i["ID"]:
                izabrana_projekcija = i
                postoji = True

        if postoji == True:
            break

    print("-" * 50)
    print("Izabrali ste " + format_projekciju(izabrana_projekcija))
    print("-" * 50)
    print("Izaberite novi film za projekciju ")
    izabran_film = izaberi_film()
    print("-" * 50)
    print("Izabrali ste " + format_film(izabran_film))

    while True:
        Datum = try_datum("Unesite Datum projekcije, format - dd-m-yy: ")
        Pocetak = try_vreme("Unesite Pocetak projekcije, format - hh-mm: ")
        Cena = try_int("Unesite cenu Projekcije: ")
        Sala = izaberi_salu()

        izmenjena_projekcija = {
            "ID": izabrana_projekcija["ID"],
            "Naziv": izabran_film["Naziv"],
            "Zanr": izabran_film["Zanr"],
            "Cena": Cena,
            "Trajanje": izabran_film["Trajanje"],
            "Datum": Datum,
            "Pocetak": Pocetak,
            "Sala": Sala[0],
            "SlobodnoMesta": Sala[1],
            "UkupnoMesta": Sala[1]
        }

        imaMesta = proveraDatuma(izmenjena_projekcija)
        if imaMesta == True:
            for i, v in enumerate(projekcije):
                if izmenjena_projekcija["ID"] == v["ID"]:
                    projekcije[i] = izmenjena_projekcija
                    zapisi_projekcije(projekcije)
                    print("Uspesno ste izmenili projekciju")
                    return
        else:
            print("Zauzet termin, probajte ponovo")
示例#6
0
def izaberi_film():
    filmovi = uzmi_filmove()
    print_filmove()
    print("-" * 50)
    print("Izaberite jedan of filmova ili dodajte novi")
    print("-" * 50)
    while True:
        if try_str("Zelite li dodati novi film? Y or N: ").lower() == "y":
            novi_film = dodaj_film()
            return novi_film
        else:
            while True:
                print("-" * 50)
                idFilma = try_str("Unesite ID filma za projekciju: ")

                for film in filmovi:
                    if idFilma == film["ID"]:
                        return film
示例#7
0
def login():
    korisnici = uzmi_korisnike()
    print(50 * "-")
    print("Dobrodosli u Cinema CLI.")
    print(50 * "-")

    while True:
        username = try_str("Unesite vase Korisnicko Ime: ")
        print(50 * "-")
        lozinka = try_str("Unesite vasu Lozinku: ")

        for korisnik in korisnici:
            if korisnik["Korisnicko"] == username and korisnik[
                    "Lozinka"] == lozinka:
                return korisnik
        else:
            print(50 * "-")
            print("Pogresni podaci, probajte ponovo")
            print(50 * "-")
示例#8
0
def zapisi_racun(racuni, prodavac):
    print("-" * 50)
    odgovor = try_str("Zelite li izdati racun? Odg sa Y or N: ")
    if odgovor.lower() == "y":
        print("-" * 50)
        datum = datetime.datetime.now()
        zapisi_projekcije(racuni[-1]["projekcije"])

        ukupnoPlatiti = 0

        izabraneProjekcije = []

        for i in racuni:
            ukupnoPlatiti += int(i["racun"])
            temp_dict = {
                "izabranaProjekcija": i["izabranaProjekcija"],
                "brojKarata": i["brojKarata"]
            }

            izabraneProjekcije.append(temp_dict)

        racuni = []
        racuni.append("\n  Racun - " + str(uuid.uuid1())[:8])
        for i in izabraneProjekcije:
            racun = """--------------------------
Projekcija: {}
    -Datum: {}
    -Pocetak: {}
    -Sala: {}
    Broj karata: {}
--------------------------""".format(i["izabranaProjekcija"]["Naziv"],
                                     i["izabranaProjekcija"]["Datum"],
                                     i["izabranaProjekcija"]["Pocetak"],
                                     i["izabranaProjekcija"]["Sala"],
                                     i["brojKarata"])
            racuni.append(racun)
        opis_racuna = """
Ukupan Iznos: {} rsd
Prodavac: {} {}
Datum Izdavanja: {}
Sifra racuna: {}
--------------------------""".format(ukupnoPlatiti, prodavac["Ime"],
                                     prodavac["Prezime"],
                                     datum.strftime("%d/%m/%y - %H-%M"),
                                     str(uuid.uuid1())[:8])
        racuni.append(opis_racuna)

        for i in racuni:
            print(i)
            with open("data/racuni.txt", "a") as f:
                f.write(i + "\n")
示例#9
0
def pretraga():
    projekcije = uzmi_projekcije()

    while True:
        print("\n")
        print("------ Pretraga ------")
        print("-" * 50)
        print("1. Pretraga po ID")
        print("-" * 50)
        print("2. Pretraga po broju sale")
        print("-" * 50)
        print("3. Pretraga po Datumu")
        print("-" * 50)
        print("4. Pretraga po Nazivu/Zanru")
        print("-" * 50)
        print("5. Povratak na glavni meni")
        print("-" * 50)
        izbor = try_int("Unesite vas izbor: ")

        if izbor == "1":
            pretraga_generic(projekcije, "ID")
        elif izbor == "2":
            pretraga_generic(projekcije, "Sala")
        elif izbor == "3":
            pretraga_generic(projekcije, "Datum")

        elif izbor == "4":
            print("-" * 50)
            unos = try_str("Unesite Naziv ili Zanr projekcije: ").lower()
            for i in projekcije:
                for k, v in i.items():
                    if k == "Naziv" or k == "Zanr":
                        if i[k].lower().__contains__(
                                unos) or i[k].lower() == unos:
                            print("-" * 50)
                            print(format_projekciju(i))
        elif izbor == "5":
            return
        else:
            print("Pogresan broj, probajte ponovo")
示例#10
0
def prodaj_karte(prodavac):
    projekcije = uzmi_projekcije()
    racuni = []
    print("-" * 50)
    print("Prodaja Karata")
    print("-" * 50)
    racun_dict = uzmi_karte(projekcije)
    racuni.append(racun_dict)
    print("-" * 50)

    while True:
        print("-" * 50)
        pitanje = try_str(
            "Zelite li dodati jos projekcija na racun ili ne? Odg sa Y or N: ")
        if pitanje.lower() == "y":
            racun_dict = uzmi_karte(racun_dict["projekcije"])
            racuni.append(racun_dict)
            for i in racuni:
                i["projekcije"] = racun_dict["projekcije"]
        else:
            print("-" * 50)
            print("Zavrseno dodavanje karata")
            zapisi_racun(racuni, prodavac)
            break