Advertisement
edo_py

Login.py

Jun 6th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.57 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import messagebox
  3. import os
  4.  
  5. forbidden_chars = ["\\", "/", ":", "*", "<", ">", "|"]
  6.  
  7. # login
  8. login = Tk()
  9. login.title("Login")
  10. login.resizable(0, 0)
  11.  
  12. Label1 = Label(text="Username: ")
  13. Label1.grid(column="1", row="1")
  14.  
  15. u_name = StringVar(value="")
  16. username = Entry(login, textvariable=u_name)
  17. username.grid(column="2", row="1")
  18.  
  19. Label2 = Label(text="Password: ")
  20. Label2.grid(column="1", row="2")
  21.  
  22. pass_var = StringVar(value="")
  23. password = Entry(login, textvariable=pass_var, show="*")
  24. password.grid(column="2", row="2")
  25.  
  26. info_label = Label(text="NOTE: you can't type these\n characters on username:\n \ / : * < > |", fg="gray")
  27. info_label.grid(column="1", columnspan="2", row="3")
  28.  
  29. loginButton = Button(text="Login", command=lambda: verify())
  30. loginButton.grid(column="1", sticky="e", row="4")
  31.  
  32. sign_inButton = Button(text="Sign in", command=lambda: sign_in())
  33. sign_inButton.grid(column="2", sticky="w", row="4")
  34.  
  35. login.mainloop()
  36.  
  37.  
  38. def verify():
  39.     if os.path.isdir("./"+u_name.get()):
  40.         if os.path.isfile("./"+u_name.get()+"/password.txt"):
  41.             file = open("./"+u_name.get()+"/password.txt", "r")
  42.             if file.read() == pass_var.get():
  43.                 def english():
  44.                     window = Tk()
  45.                     window.title("")
  46.                     window.resizable(0, 0)
  47.  
  48.                     # program (english)
  49.  
  50.                     window.mainloop()
  51.  
  52.                 def italian():
  53.                     window = Tk()
  54.                     window.title("")
  55.                     window.resizable(0, 0)
  56.  
  57.                     # program (italian)
  58.  
  59.                     window.mainloop()
  60.  
  61.                 login.destroy()
  62.  
  63.                 # select language
  64.                 root = Tk()
  65.                 root.title("ROOT")
  66.                 root.maxsize(30, 120)  # to fix
  67.                 root.minsize(30, 120)  # to fix
  68.  
  69.                 menu = Menu(root)
  70.                 root.config(menu=menu)
  71.                 language = Menu(menu)
  72.                 root.add_cascade(label="Select Language", menu=language)
  73.                 language.add_command(label="English", command=lambda: english())
  74.                 language.add_command(label="Italian", command=lambda: italian())
  75.  
  76.                 root.mainloop()
  77.             else:
  78.                 messagebox.showerror(title="FATAL ERROR", message="Wrong password")
  79.         else:
  80.             messagebox.showerror(title="FATAL ERROR", message="Password not found")
  81.     else:
  82.         messagebox.showerror(title="FATAL ERROR", message="User not found")
  83.  
  84.  
  85. def sign_in():
  86.     if u_name.get() != "":
  87.         if pass_var.get() != "":
  88.             for f in forbidden_chars:
  89.                 if f in u_name.get():
  90.                     messagebox.showerror(title="FATAL ERROR", message="You can't type these\n"
  91.                                                                       "characters on username:\n"
  92.                                                                       "\ / : * < > |")
  93.                 else:
  94.                     if not os.path.exists(u_name.get()):
  95.                         file = open("./" + u_name.get() + "/password.txt", "w")
  96.                         file.write(pass_var.get())
  97.                         file.close()
  98.                     else:
  99.                         messagebox.showerror(title="FATAL ERROR", message="This username already exists!")
  100.         else:
  101.             messagebox.showerror(title="FATAL ERROR", message="Password can't be empty")
  102.     else:
  103.         messagebox.showerror(title="FATAL ERROR", message="Username can't be empty")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement