diff --git a/admin.py b/admin.py index 55d5227d75c294a0de15d01206ccb9a60ced9d93..d539fb1a85d00879585870cdc622d904cab0c697 100644 --- a/admin.py +++ b/admin.py @@ -2,6 +2,8 @@ #teen siis jokaiselle leffalle oman sanakirjan?? #eiku teen ajoista listan, niin site ne saa tulostettuu kätevämmin for loopilla jos tarttee #Saa muokattua jos tarvetta +#Tein näistä sit loppuen lopuks sanakirjan, minkä avaimina on elokuvien nimet ja arvoina listat missä +#näytösajat on tupleina @@ -12,17 +14,23 @@ #Laitoin pari esimerkkiä tonne elokuvalista = {'Nälkäpeli': ('2h 37min', 16), 'Dune': ('3h 30min', 12)} naytosajat = {'Nälkäpeli': [], 'Dune': []} -kaikki_nimet = ['Nälkäpeli', 'Dune'] +oikea = "salasana1" - -def lisaa_elokuva(elokuvalista: dict, nimi: str, kesto: str, ika: int): - tiedot = (kesto, ika) +def lisaa_elokuva(elokuvalista: dict, nimi: str, kesto: str, ikaraja: int): + tiedot = (kesto, ikaraja) elokuvalista[nimi] = tiedot - kaikki_nimet.append(nimi) #lisätään nimi kaikkien elokuvien nimien listaan naytosajat[nimi] = [] #lisätään näytösaikojen sanakirjaan tyhjä lista, johon näytöksien tuplet tungetaan print(elokuvalista) +def poista_elokuva(elokuvalista: dict, nimi: str): + varmistus = input(f"Oletko varma, että haluat poistaa {nimi} -elokuvan kaikki tiedot (myös näytökset)? (k/e)") + if varmistus == "k": + del elokuvalista[nimi] + del naytosajat[nimi] + print(f"{nimi} elokuvan poisto onnistui!") + else: + print(f"Elokuvaa {nimi} ei poistettu, palataan valikkoon.") def lisaa_naytos(naytosajat: dict, nimi: str, paiva: str, kello: str): #naytosajat{nimi: naytokset} @@ -33,40 +41,113 @@ def lisaa_naytos(naytosajat: dict, nimi: str, paiva: str, kello: str): naytosajat[nimi].sort() print(naytosajat) +def poista_naytos(naytosajat: dict, nimi: str, paiva: str, kello: str): + varmistus = input("Oletko varma, että haluat poistaa kyseisen näytöksen? (k/e)") + if varmistus == "k": + naytos = (paiva, kello) + naytosajat[nimi].remove(naytos) + print("Näytöksen poisto onnistui!") + else: + print("Näytöstä ei poistettu, palataan ylläpidon valikkoon.") + +def selaa_varauksia(): + #oletettavasti varauksista rakennetaan jonkinlainen sanakirja, jota pääsee tässä selaamaan + #alla olevan esimerkin mukaisesti + #sanakirja = {1.: ['eka', 'ensimmäinen', 'I'], 2.: ['toka', 'toinen', 'II'], 3.: ['kolmas', 'kolmannes', 'III']} + #for i in sanakirja: + #print(i) + #print(sanakirja[i]) #tää on lista + #print(sanakirja[i][0]) + #print(f"Järjestysluku {i} lempinimi on {sanakirja[i][0]}, virallinen nimi {sanakirja[i][1]} ja roomalainen numero {sanakirja[i][2]}") + pass + +def salasanan_vaihtaminen(): + while True: + vanha = input("Anna vanha salasana: ") + if vanha == oikea: + while True: + uusi1 = input("Anna uusi salasana: ") + uusi2 = input("Anna uusi salasana uudelleen: ") + if uusi1 == uusi2: + oikea = uusi1 + print("Salasanan vaihto onnistui!") + break + else: + print("Uudet salasanat eivät olleet samoja.") + jatko = input("Jos haluat yrittää uudelleen paina 1, jos haluat palata ylläpitoon paina 2.") + if jatko == 2: + break + else: + print("Vanha salasana ei ollut oikein.") + jatko = input("Jos haluat yrittää uudelleen paina 1, jos haluat palata ylläpitoon paina 2.") + if jatko == 2: + break + + def admin(): while True: + #Onko liikaa vaihtoehtoja? Supistetaanko tätä ja tehdään alivalikkoja? print("1 lisää elokuva") - print("2 lisää näytös") - print("3 selaa varauksia") - print("4 palaa aloitusvalikkoon") + print("2 poista elokuva") + print("3 lisää näytös") + print("4 poista näytös") + print("5 selaa varauksia") + print("6 palaa aloitusvalikkoon") + print("7 ylläpitäjän salasanan vaihtaminen") print("0 sulkee järjestelmän") arvo = int(input("Anna toiminto: ")) if arvo == 1: nimi = input("Anna elokuvan nimi: ") - nimidict = nimi - nimidict = {} kesto = input("Anna elokuvan kesto (0h 0min): ") - ika = int(input("Anna elokuvan ikäraja (pelkkä numero): "))#jos näitä tietoja tulostetaan täytyy tähän laittaa eteen K{ika} + ikaraja = int(input("Anna elokuvan ikäraja (pelkkä numero): "))#jos näitä tietoja tulostetaan täytyy tähän laittaa eteen K{ika} #Aattelin että jos halutaan tehä joku hakukone niin voi lajitella ikärajan perusteella - lisaa_elokuva(elokuvalista, nimi, kesto, ika) - + lisaa_elokuva(elokuvalista, nimi, kesto, ikaraja) elif arvo == 2: + nimi = input("Anna elokuvan nimi: ") + poista_elokuva(elokuvalista, nimi) + elif arvo == 3: + kaikki_nimet = elokuvalista.keys() + #Miten tän saa nätimmäksi??????? print(f"Ohjelmistossa nyt: {kaikki_nimet}") nimi = input("Mihin elokuvaan haluta lisätä näytöksen? ") print("Huomaathan, että uusia näytöksiä voi lisätä vain tulevalle viikolle MA-SU") paiva = input("Minä päivänä näytös on? (Päivä(dd.mm.), viikonpäivä(MA-SU))") kello = input("Mihin aikaan näytös on? (hh:mm)") lisaa_naytos(naytosajat, nimi, paiva, kello) - elif arvo == 3: - print("Tästä selataan varauksia") elif arvo == 4: + kaikki_nimet = elokuvalista.keys() + print(f"Ohjelmistossa nyt: {kaikki_nimet}") + nimi = input("Mistä elokuvasta haluat poistaa näytöksen? ") + paiva = input("Minkä päivän näytöksen haluat poistaa? (Päivä(dd.mm.), viikonpäivä(MA-SU))") + kello = input("Minkä kellonajan näytöksen haluat poistaa? (hh:mm)") + poista_naytos(naytosajat, nimi, paiva, kello) + elif arvo == 5: + selaa_varauksia() + elif arvo == 6: print("Tästä palataan aloitukseen") + elif arvo == 7: + salasanan_vaihtaminen() elif arvo == 0: - print("Kiitos ja hei!") + print("Kiitos ja hei! (palaa etusivulle)") break else: print("Valinta ei käy! Jos haluat sulkea ylläpidon, paina 0") -#nelosvaihe ei välttämättä toteudu, jos en keksi miten alkuun palataan -admin() +#nelosvaihe ei välttämättä toteudu, jos en keksi miten koko ohjelma sammutetaa tästä +#jos tämä halutaan niin täytyy vrm tehdä joku tappokomento erikseen +def salaus (): + indeksi = 3 + while True: + salaus = input(f"Anna salasana: ") + if salaus == oikea: + print("Oikea salasana!") + admin() + break + elif salaus != oikea and indeksi > 1: + indeksi -= 1 + print(f"Väärä salasana! Yrityksiä jäljellä {indeksi}.") + else: + print("Salasana väärä! (palaa etusivulle)") + break +salaus()