Advertisement
Guest User

Untitled

a guest
Jan 1st, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.02 KB | None | 0 0
  1. from tkinter import *
  2. import os
  3.  
  4. creds = 'users.txt'
  5. base = 'search.txt'
  6. credss = {}
  7. engine = {}
  8.  
  9.  
  10. def signUp():
  11.     global windowSignIn
  12.     global entryLogin
  13.     global entryPswd
  14.     windowLogin.destroy()
  15.     windowSignIn = Tk()
  16.     windowSignIn.title('Sign up')
  17.     instruction = Label(windowSignIn, text='Please enter new credidentials\n')
  18.     instruction.grid(row=0, column=0, sticky=E)
  19.  
  20.     labelLogin = Label(windowSignIn, text='New login: ')
  21.     labelLogin.grid(row=1, column=0, sticky=W)
  22.     labelPswd = Label(windowSignIn, text='New password: ')
  23.     labelPswd.grid(row=2, column=0, sticky=W)
  24.  
  25.     entryLogin = Entry(windowSignIn)
  26.     entryLogin.grid(row=1, column=1)
  27.     entryPswd = Entry(windowSignIn, show='*')
  28.     entryPswd.grid(row=2, column=1)
  29.  
  30.     buttonSign = Button(windowSignIn, text='Sign up', command=bSignup)
  31.     buttonSign.grid(columnspan=2, sticky=W)
  32.     windowSignIn.mainloop()
  33.  
  34.  
  35. def bSignup():
  36.     with open(creds, 'w') as f:
  37.         f.write(entryLogin.get())
  38.         f.write(':')
  39.         f.write(entryPswd.get())
  40.         f.write('\n')
  41.         f.close()
  42.  
  43.     windowSignIn.destroy()
  44.     logIn()
  45.  
  46.  
  47. def logIn():
  48.     global entryLoginL
  49.     global entryPswdL
  50.     global windowLogin
  51.     global error
  52.  
  53.     windowLogin = Tk()
  54.     windowLogin.title('Login')
  55.  
  56.     instruction = Label(windowLogin, text='Log in!\n')
  57.     instruction.grid(sticky=E)
  58.     labelLoginL = Label(windowLogin, text='Login: ')
  59.     labelLoginL.grid(row=1, sticky=W)
  60.     labelPswdL = Label(windowLogin, text='Password: ')
  61.     labelPswdL.grid(row=2, sticky=W)
  62.  
  63.     entryLoginL = Entry(windowLogin)
  64.     entryLoginL.grid(row=1, column=1)
  65.     entryPswdL = Entry(windowLogin, show='*')
  66.     entryPswdL.grid(row=2, column=1)
  67.  
  68.     buttonLog = Button(windowLogin, text='Login', command=checkLogin)
  69.     buttonReg = Button(windowLogin, text='Register', command=signUp)
  70.     buttonLog.grid(columnspan=2, sticky=W)
  71.     buttonReg.grid(columnspan=2, sticky=W)
  72.  
  73.     error = Label(windowLogin)
  74.     error.grid(row=6)
  75.  
  76.     windowLogin.mainloop()
  77.  
  78.  
  79. def checkLogin():
  80.     with open(creds, 'r') as f:
  81.         for line in f:
  82.             user, pswd = line.strip().split(':')
  83.             credss[user] = pswd
  84.  
  85.     username = entryLoginL.get()
  86.     password = entryPswdL.get()
  87.  
  88.     if username in credss and credss[username] == password:
  89.         windowLogin.destroy()
  90.         mainWindow()
  91.     else:
  92.         error.configure(text="Credentials are wrong")
  93.         windowLogin.mainloop()
  94.  
  95.  
  96. def mainWindow():
  97.     global windowLogged
  98.  
  99.     windowLogged = Tk()
  100.     windowLogged.title('Search Engine')
  101.     windowLogged.geometry('120x350')
  102.  
  103.     sEngineB = Button(windowLogged, text="Search", command=searchEngine)
  104.     logOutB = Button(windowLogged, text="Logout", command=logOut)
  105.  
  106.     sEngineB.place(relx=0.5, rely=0.1, anchor=CENTER)
  107.     logOutB.place(relx=0.5, rely=0.2, anchor=CENTER)
  108.     windowLogged.mainloop()
  109.  
  110.  
  111. def searchEngine():
  112.     windowSearch = Tk()
  113.     windowSearch.title('Tools')
  114.     i = 2
  115.     gName = Label(windowSearch, text='Name', font='bold')
  116.     gDay = Label(windowSearch, text='Per Day', font='bold')
  117.     gHDay = Label(windowSearch, text='Half of Day', font='bold')
  118.     gIsAvail = Label(windowSearch, text='Is Available', font='bold')
  119.     gName.grid(row=1, column=1)
  120.     gDay.grid(row=1, column=2)
  121.     gHDay.grid(row=1, column=3)
  122.     gIsAvail.grid(row=1, column=4)
  123.     with open(base, 'r') as f:
  124.         for line in f:
  125.             name, day, hday, isAvailable = line.strip().split(':')
  126.             nm = Label(windowSearch, text=name)
  127.             dy = Label(windowSearch, text=day)
  128.             hdy = Label(windowSearch, text=hday)
  129.             isAvail = Label(windowSearch, text=isAvailable)
  130.             nm.grid(row=i, column=1)
  131.             dy.grid(row=i, column=2)
  132.             hdy.grid(row=i, column=3)
  133.             isAvail.grid(row=i, column=4)
  134.             i += 1
  135.  
  136.     windowSearch.mainloop()
  137.  
  138.  
  139.  
  140. def logOut():
  141.     windowLogged.destroy()
  142.     logIn()
  143.  
  144.  
  145. if os.path.isfile(creds):
  146.     logIn()
  147. else:
  148.     signUp()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement