Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- import tkinter.messagebox as tm
- import sqlite3
- from Popup import *
- import Users
- import re
- db = sqlite3.connect("game nebula.db")
- c = db.cursor()
- class LoginFrame(Frame):
- def __init__(self, master):
- Frame.__init__(self, master)
- self.master = master
- self.logUI()
- def logUI(self):
- self.master.title("Login")
- self.pack(fill=BOTH, expand=True)
- frame1 = Frame(self)
- frame1.pack(fill=X)
- self.label_1 = Label(frame1, text="Username", width=7)
- self.label_1.pack(side=LEFT, padx=5, pady=5)
- self.entry_1 = Entry(frame1)
- self.entry_1.pack(side=LEFT, padx=5)
- frame2 = Frame(self)
- frame2.pack(fill=X)
- self.label_2 = Label(frame2, text="Password", width=7)
- self.label_2.pack(side=LEFT, padx=5, pady=5)
- self.entry_2 = Entry(frame2, show="*")
- self.entry_2.pack(side=LEFT, padx=5)
- frame3 = Frame(self)
- frame3.pack(fill=X)
- self.logbtn = Button(self, text="Login", fg='green', command = self._login_btn_clicked)
- self.logbtn.pack(padx=5, pady=2)
- self.regbtn = Button(self, text="Register", command=self._register_btn_clicked)
- self.regbtn.pack(padx=5, pady=2)
- def _login_btn_clicked(self):
- username = self.entry_1.get()
- password = self.entry_2.get()
- if len(self.entry_1.get()) == 0 or len(self.entry_2.get()) == 0 :
- print("Null Entry")
- else:
- def CheckUserExists(username, password):
- if c.execute("SELECT password FROM UserData WHERE name = ? AND password = ?", (username, password)):
- data = c.fetchall()
- if not data:
- return False
- else:
- return True
- if CheckUserExists(username, password) is True:
- print("Login Complete. Welcome " + username + "!")
- from Main import MainFrame
- else:
- print("Username or password is incorrect")
- def _register_btn_clicked(self):
- from Registration import RegistrationFrame
- root = Tk()
- ft = LoginFrame(master=root)
- root.mainloop()
- ---------------------------------------------------------------------------
- Registration Code
- ---------------------------------------------------------------------------
- from tkinter import *
- import tkinter.messagebox as tm
- from Popup import *
- import Users
- import re
- import sqlite3
- db = sqlite3.connect('game nebula.db')
- c = db.cursor()
- class RegistrationFrame(Frame):
- def __init__(self, master):
- Frame.__init__(self, master)
- self.master = master
- self.regUI()
- def regUI(self):
- self.master.title("Registration")
- self.pack(fill=BOTH, expand=True)
- frame1 = Frame(self)
- frame1.pack(fill=X)
- frame2 = Frame(self)
- frame2.pack(fill=X)
- frame3 = Frame(self)
- frame3.pack(fill=X)
- frame4 = Frame(self)
- frame4.pack(fill=X)
- frame5 = Frame(self)
- frame5.pack(fill=X)
- frame6 = Frame(self)
- frame6.pack(fill=X)
- self.UserLabel = Label(frame1, text="Enter username")
- self.UserLabel.pack(side=LEFT, padx=5, pady=5)
- self.PassLabel = Label(frame2, text="Enter Password")
- self.PassLabel.pack(side=LEFT, padx=5, pady=5)
- self.PassReLabel = Label(frame3, text="Re-Enter Password")
- self.PassReLabel.pack(side=LEFT, padx=5, pady=5)
- self.EmailLabel = Label(frame4, text="Enter email")
- self.EmailLabel.pack(side=LEFT, padx=5, pady=5)
- self.ConsoleLabel = Label(frame5, text="Check all consoles you own:")
- self.ConsoleLabel.pack(side=LEFT, padx=5, pady=5)
- self.UserEntry = Entry(frame1)
- self.UserEntry.pack(side=LEFT, padx=20)
- self.PassEntry = Entry(frame2, show="*")
- self.PassEntry.pack(side=LEFT, padx=22)
- self.PassReEntry = Entry(frame3, show="*")
- self.PassReEntry.pack(side=LEFT, padx=5)
- self.EmailEntry = Entry(frame4)
- self.EmailEntry.pack(side=LEFT, padx=43)
- self.v1 = IntVar()
- self.v2 = IntVar()
- self.v3 = IntVar()
- self.v4 = IntVar()
- self.PS4Check = Checkbutton(frame5, text = 'PS4', variable = self.v1)
- self.PS4Check.pack(side=LEFT, padx=5, pady=5)
- self.XOneCheck = Checkbutton(frame5, text = 'Xbox One', variable = self.v2)
- self.XOneCheck.pack(side=LEFT, padx=5, pady=5)
- self.WiiUCheck = Checkbutton(frame5, text = 'WiiU', variable = self.v3)
- self.WiiUCheck.pack(side=LEFT, padx=5, pady=5)
- self.PCCheck = Checkbutton(frame5, text = 'PC', variable = self.v4)
- self.PCCheck.pack(side=LEFT, padx=5, pady=5)
- self.regbtn = Button(frame6, text="Register", command = self._registration_btn_clicked)
- self.regbtn.pack(side=BOTTOM)
- def _registration_btn_clicked(self):
- username = self.UserEntry.get()
- password = self.PassEntry.get()
- passwordRe = self.PassReEntry.get()
- email = self.EmailEntry.get()
- if len(self.UserEntry.get()) == 0 or len(self.PassEntry.get()) == 0
- or len(self.PassReEntry.get()) == 0 or len(self.EmailEntry.get()) == 0 :
- print("Null Entry")
- elif len(username) > 14 or len(username) < 4 :
- pu.onUserLength()
- elif len(password) > 14 or len(password) < 4:
- pu.onPassLength()
- elif not re.match("^[0-z]*$", username) or not re.match("^[0-z]*$", password):
- pu.onSpecialChar()
- else:
- #Used to pass consoles user owns to user object
- console = []
- hasPS4 = 'No'
- hasXOne = 'No'
- hasWiiU = 'No'
- hasPC = 'No'
- if self.v1.get() == 1:
- console.append('PS4')
- hasPS4 = 'Yes'
- if self.v2.get() == 1:
- console.append('Xbox One')
- hasXOne = 'Yes'
- if self.v3.get() == 1:
- console.append('WiiU')
- hasWiiU = 'Yes'
- if self.v4.get() == 1:
- console.append('PC')
- hasPC = 'Yes'
- def CheckRegExists(username):
- c.execute("SELECT name FROM UserData WHERE name=?", (username,))
- data = c.fetchall()
- if not data:
- return False
- else:
- return True
- if CheckRegExists(username) == True:
- pu.onUserAvail()
- else:
- if password != passwordRe:
- pu.onPasswordMatch()
- else:
- print("Registration Successful")
- c.execute('INSERT INTO UserData VALUES (?,?,?)', (username, password, email))
- c.execute('INSERT INTO UserPref VALUES (?,?,?,?,?)', (username, hasPS4, hasXOne, hasWiiU, hasPC ))
- db.commit()
- Users.create_user(username, password, email, console)
- db.commit()
- db.close()
- root = Tk()
- pu = Popup(parent=root)
- ft = RegistrationFrame(master=root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement