Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- from tkinter import messagebox
- import os
- import time
- forbidden_chars = "\/:*<>|"
- def verify():
- if os.path.isdir("./"+u_name.get()):
- if os.path.isfile("./"+u_name.get()+"/password.txt"):
- file = open("./"+u_name.get()+"/password.txt", "r")
- if file.read() == pass_var.get():
- def english():
- window = Tk()
- window.title("EN")
- window.resizable(0, 0)
- # program (english)
- window.mainloop()
- def italian():
- window = Tk()
- window.title("IT")
- window.resizable(0, 0)
- # program (italian)
- window.mainloop()
- login.destroy()
- # select language
- root = Tk()
- root.title("ROOT")
- root.resizable(0, 0)
- label = Label(text="Select a language")
- label.grid(column="1", row="1")
- language = Menu()
- language.insert_command(index=language, label="English", command=lambda: english())
- language.insert_command(index=language, label="Italian", command=lambda: italian())
- language.grid(column="1", row="2")
- root.mainloop()
- else:
- messagebox.showerror(title="FATAL ERROR", message="Wrong password")
- else:
- messagebox.showerror(title="FATAL ERROR", message="Password not found")
- else:
- messagebox.showerror(title="FATAL ERROR", message="User not found")
- def register():
- if username.get() != "":
- if password.get() != "":
- if username.get().find(forbidden_chars) or password.get().find(forbidden_chars):
- if not os.path.exists(username.get()):
- os.makedirs(username.get())
- file = open("./" + username.get() + "/password.txt", "w")
- file.write(password.get())
- file.close()
- time.sleep(2)
- else:
- messagebox.showerror(title="FATAL ERROR", message="This username already exists!")
- else:
- messagebox.showerror(title="FATAL ERROR", message="You can't type these characters on username:\n"
- "\ / : * < > |")
- else:
- messagebox.showerror(title="FATAL ERROR", message="Password can't be empty")
- else:
- messagebox.showerror(title="FATAL ERROR", message="Username can't be empty")
- # login
- login = Tk()
- login.title("Login")
- login.resizable(0, 0)
- Label1 = Label(text="Username: ")
- Label1.grid(column="1", row="1")
- u_name = StringVar(value="")
- username = Entry(login, textvariable=u_name)
- username.grid(column="2", row="1")
- Label2 = Label(text="Password: ")
- Label2.grid(column="1", row="2")
- pass_var = StringVar(value="")
- password = Entry(login, textvariable=pass_var, show="*")
- password.grid(column="2", row="2")
- info_label = Label(text="NOTE: you can't type these\n characters on username:\n \ / : * < > |", fg="gray")
- info_label.grid(column="1", columnspan="2", row="3")
- loginButton = Button(text="Login", command=lambda: verify())
- loginButton.grid(column="1", sticky="e", row="4")
- sign_inButton = Button(text="Sign in", command=lambda: register())
- sign_inButton.grid(column="2", sticky="w", row="4")
- login.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement