"""
2018. május idegennyelvű: Fogadóóra 
@author Klemand66
"""

print("\n1. feladat\n")

betxt = open("fogado.txt")

foglalasok=[]
for sor in betxt:
    darsor=sor.strip().split()
    adatsor=[darsor[0]+" "+darsor[1],darsor[2],darsor[3]]
    # 0: név  1: lefoglalt időpont 2. a foglalás időpontja
    foglalasok.append(adatsor)
    
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

print(f'A foglalások száma: {len(foglalasok)}')



print("\n3. feladat\n")

akttanar=input("Adja meg egy tanár nevét (pl. Nagy Ferenc): ")

aktfoglalasok=list(filter(lambda f: f[0].lower()==akttanar.lower() ,foglalasok))
if len(aktfoglalasok)>0:
    print(f'{aktfoglalasok[0][0]} néven {len(aktfoglalasok)} foglalás van.')
else:
    print("A megadott néven nincs időpontfoglalás.")



print("\n4. feladat\n")

aktido=input("Adjon meg egy érvényes időpontot (pl. 17:10): ")
aktfn="".join(aktido.strip().split(":"))
foglaltak=list(filter(lambda f: f[1]==aktido ,foglalasok))
foglaltak.sort(key=lambda f: f[0])
"""
A fájlban a nevekben, nyilván szándékosan, nincsenek ékezetes karakterek,
ezért a beépített rendezést használtuk, mely az ASCII-kód szerint rendez.
A Bevezető gyakorlatok 2. fejezetének 3. pontjában
szerepel a magyar ábécé szerinti rendezés algoritmusa.
"""

kitxt = open(f'{aktfn}.txt',"w")

for f in foglaltak:
    print(f[0])
    kitxt.write(f'{f[0]}\n')
 
kitxt.close()
print("\nA kiíratás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n5. feladat\n")

legkorabban=min(foglalasok,key=lambda f: f[2])
print(f'A tanár neve: {legkorabban[0]}')
print(f'A lefoglalt időpont: {legkorabban[1]}')
print(f'A foglalás ideje: {legkorabban[2]}')



print("\n6. feladat\n")

foglaltak=list(filter(lambda f: f[0]=="Barna Eszter" ,foglalasok))
fidok=[]
for f in foglaltak:
    fidok.append(f[1])

szidok=[]
for o in range(16,18):
    for p in range(0,60,10):
        aktido=f'{o}:{p:02}'
        if aktido not in fidok:
            szidok.append(aktido)

for sz in szidok:
    print(sz)

vszabadok=list(filter(lambda sz: sz>fidok[-1] ,szidok))

print(f'Barna Eszter legkorábban távozhat: {vszabadok[0]}')


input("\nA befejezéshez nyomd meg az ENTER billentyűt!")
