Advertisement
Guest User

Untitled

a guest
Apr 16th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.24 KB | None | 0 0
  1. from tkinter import *
  2. import tkinter.messagebox as tm
  3. import sqlite3
  4. from Popup import *
  5. import Users
  6. import re
  7.  
  8.  
  9. db = sqlite3.connect("game nebula.db")
  10. c = db.cursor()
  11.  
  12.  
  13. class LoginFrame(Frame):
  14. def __init__(self, master):
  15. Frame.__init__(self, master)
  16.  
  17. self.master = master
  18. self.logUI()
  19.  
  20. def logUI(self):
  21.  
  22. self.master.title("Login")
  23. self.pack(fill=BOTH, expand=True)
  24.  
  25. frame1 = Frame(self)
  26. frame1.pack(fill=X)
  27.  
  28. self.label_1 = Label(frame1, text="Username", width=7)
  29. self.label_1.pack(side=LEFT, padx=5, pady=5)
  30.  
  31. self.entry_1 = Entry(frame1)
  32. self.entry_1.pack(side=LEFT, padx=5)
  33.  
  34. frame2 = Frame(self)
  35. frame2.pack(fill=X)
  36.  
  37. self.label_2 = Label(frame2, text="Password", width=7)
  38. self.label_2.pack(side=LEFT, padx=5, pady=5)
  39.  
  40. self.entry_2 = Entry(frame2, show="*")
  41. self.entry_2.pack(side=LEFT, padx=5)
  42.  
  43. frame3 = Frame(self)
  44. frame3.pack(fill=X)
  45.  
  46. self.logbtn = Button(self, text="Login", fg='green', command = self._login_btn_clicked)
  47. self.logbtn.pack(padx=5, pady=2)
  48. self.regbtn = Button(self, text="Register", command=self._register_btn_clicked)
  49. self.regbtn.pack(padx=5, pady=2)
  50.  
  51.  
  52. def _login_btn_clicked(self):
  53. username = self.entry_1.get()
  54. password = self.entry_2.get()
  55.  
  56. if len(self.entry_1.get()) == 0 or len(self.entry_2.get()) == 0 :
  57. print("Null Entry")
  58. else:
  59.  
  60. def CheckUserExists(username, password):
  61. if c.execute("SELECT password FROM UserData WHERE name = ? AND password = ?", (username, password)):
  62. data = c.fetchall()
  63. if not data:
  64. return False
  65. else:
  66. return True
  67.  
  68.  
  69.  
  70. if CheckUserExists(username, password) is True:
  71. print("Login Complete. Welcome " + username + "!")
  72. from Main import MainFrame
  73. else:
  74. print("Username or password is incorrect")
  75.  
  76. def _register_btn_clicked(self):
  77. from Registration import RegistrationFrame
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84. root = Tk()
  85. ft = LoginFrame(master=root)
  86. root.mainloop()
  87.  
  88.  
  89.  
  90.  
  91.  
  92. ---------------------------------------------------------------------------
  93. Registration Code
  94. ---------------------------------------------------------------------------
  95.  
  96. from tkinter import *
  97. import tkinter.messagebox as tm
  98. from Popup import *
  99. import Users
  100. import re
  101. import sqlite3
  102.  
  103. db = sqlite3.connect('game nebula.db')
  104. c = db.cursor()
  105.  
  106. class RegistrationFrame(Frame):
  107. def __init__(self, master):
  108. Frame.__init__(self, master)
  109.  
  110. self.master = master
  111. self.regUI()
  112.  
  113. def regUI(self):
  114.  
  115. self.master.title("Registration")
  116. self.pack(fill=BOTH, expand=True)
  117.  
  118. frame1 = Frame(self)
  119. frame1.pack(fill=X)
  120. frame2 = Frame(self)
  121. frame2.pack(fill=X)
  122. frame3 = Frame(self)
  123. frame3.pack(fill=X)
  124. frame4 = Frame(self)
  125. frame4.pack(fill=X)
  126. frame5 = Frame(self)
  127. frame5.pack(fill=X)
  128. frame6 = Frame(self)
  129. frame6.pack(fill=X)
  130.  
  131. self.UserLabel = Label(frame1, text="Enter username")
  132. self.UserLabel.pack(side=LEFT, padx=5, pady=5)
  133. self.PassLabel = Label(frame2, text="Enter Password")
  134. self.PassLabel.pack(side=LEFT, padx=5, pady=5)
  135. self.PassReLabel = Label(frame3, text="Re-Enter Password")
  136. self.PassReLabel.pack(side=LEFT, padx=5, pady=5)
  137. self.EmailLabel = Label(frame4, text="Enter email")
  138. self.EmailLabel.pack(side=LEFT, padx=5, pady=5)
  139. self.ConsoleLabel = Label(frame5, text="Check all consoles you own:")
  140. self.ConsoleLabel.pack(side=LEFT, padx=5, pady=5)
  141.  
  142. self.UserEntry = Entry(frame1)
  143. self.UserEntry.pack(side=LEFT, padx=20)
  144. self.PassEntry = Entry(frame2, show="*")
  145. self.PassEntry.pack(side=LEFT, padx=22)
  146. self.PassReEntry = Entry(frame3, show="*")
  147. self.PassReEntry.pack(side=LEFT, padx=5)
  148. self.EmailEntry = Entry(frame4)
  149. self.EmailEntry.pack(side=LEFT, padx=43)
  150.  
  151. self.v1 = IntVar()
  152. self.v2 = IntVar()
  153. self.v3 = IntVar()
  154. self.v4 = IntVar()
  155.  
  156. self.PS4Check = Checkbutton(frame5, text = 'PS4', variable = self.v1)
  157. self.PS4Check.pack(side=LEFT, padx=5, pady=5)
  158. self.XOneCheck = Checkbutton(frame5, text = 'Xbox One', variable = self.v2)
  159. self.XOneCheck.pack(side=LEFT, padx=5, pady=5)
  160. self.WiiUCheck = Checkbutton(frame5, text = 'WiiU', variable = self.v3)
  161. self.WiiUCheck.pack(side=LEFT, padx=5, pady=5)
  162. self.PCCheck = Checkbutton(frame5, text = 'PC', variable = self.v4)
  163. self.PCCheck.pack(side=LEFT, padx=5, pady=5)
  164.  
  165. self.regbtn = Button(frame6, text="Register", command = self._registration_btn_clicked)
  166. self.regbtn.pack(side=BOTTOM)
  167.  
  168.  
  169. def _registration_btn_clicked(self):
  170. username = self.UserEntry.get()
  171. password = self.PassEntry.get()
  172. passwordRe = self.PassReEntry.get()
  173. email = self.EmailEntry.get()
  174.  
  175. if len(self.UserEntry.get()) == 0 or len(self.PassEntry.get()) == 0
  176. or len(self.PassReEntry.get()) == 0 or len(self.EmailEntry.get()) == 0 :
  177. print("Null Entry")
  178. elif len(username) > 14 or len(username) < 4 :
  179. pu.onUserLength()
  180. elif len(password) > 14 or len(password) < 4:
  181. pu.onPassLength()
  182. elif not re.match("^[0-z]*$", username) or not re.match("^[0-z]*$", password):
  183. pu.onSpecialChar()
  184.  
  185. else:
  186.  
  187. #Used to pass consoles user owns to user object
  188. console = []
  189. hasPS4 = 'No'
  190. hasXOne = 'No'
  191. hasWiiU = 'No'
  192. hasPC = 'No'
  193.  
  194. if self.v1.get() == 1:
  195. console.append('PS4')
  196. hasPS4 = 'Yes'
  197. if self.v2.get() == 1:
  198. console.append('Xbox One')
  199. hasXOne = 'Yes'
  200. if self.v3.get() == 1:
  201. console.append('WiiU')
  202. hasWiiU = 'Yes'
  203. if self.v4.get() == 1:
  204. console.append('PC')
  205. hasPC = 'Yes'
  206.  
  207.  
  208. def CheckRegExists(username):
  209. c.execute("SELECT name FROM UserData WHERE name=?", (username,))
  210. data = c.fetchall()
  211. if not data:
  212. return False
  213. else:
  214. return True
  215.  
  216.  
  217. if CheckRegExists(username) == True:
  218. pu.onUserAvail()
  219. else:
  220. if password != passwordRe:
  221. pu.onPasswordMatch()
  222. else:
  223. print("Registration Successful")
  224. c.execute('INSERT INTO UserData VALUES (?,?,?)', (username, password, email))
  225. c.execute('INSERT INTO UserPref VALUES (?,?,?,?,?)', (username, hasPS4, hasXOne, hasWiiU, hasPC ))
  226. db.commit()
  227.  
  228.  
  229.  
  230. Users.create_user(username, password, email, console)
  231. db.commit()
  232. db.close()
  233.  
  234.  
  235.  
  236.  
  237. root = Tk()
  238. pu = Popup(parent=root)
  239. ft = RegistrationFrame(master=root)
  240. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement