Guest User

Untitled

a guest
Dec 16th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.20 KB | None | 0 0
  1. from tkinter import *
  2. import json
  3. from collections import OrderedDict
  4. from time import sleep
  5. import sys
  6.  
  7.  
  8. class StartLogin:
  9. def __init__(self):
  10. self.root = Tk()
  11. with open("Users.json", "r") as f:
  12. self.data = json.load(f, object_pairs_hook=OrderedDict)
  13. for l in self.data:
  14. self.output = l['enabled']
  15. if self.output == "option":
  16. self.option()
  17. elif self.output == False:
  18. return
  19. else:
  20. self.login()
  21.  
  22. def option(self):
  23. self.oframe = Frame(self.oroot)
  24. self.oframe.grid(sticky=NSEW)
  25.  
  26. self.title = Label(self.oframe, text="Enable Login Function On Startup?", fg="blue")
  27. self.title.grid(row=0, column=1, columnspan=3, sticky=N)
  28. self.Ebutton = Label(self.oframe, text="Enable", fg="white", bg="green")
  29. self.Ebutton.bind("<Button-1>", self.jenable)
  30. self.Ebutton.grid(row=1, column=1, columnspan=3, sticky=S)
  31. self.Dbutton = Label(self.oframe, text="Disable", fg="white", bg="red")
  32. self.Dbutton.bind("<Button-1>", self.jdisable)
  33. self.Dbutton.grid(row=2, column=1, columnspan=3, sticky=S)
  34.  
  35. self.root.mainloop()
  36.  
  37. def jenable(self, event):
  38. self.eframe = Frame(self.root)
  39. self.eframe.grid(sticky=NSEW)
  40. self.uentry = Entry(self.eframe)
  41. self.uentry.grid(row=0, column=1, sticky=E)
  42. self.ulabel = Label(self.eframe, text="Username:")
  43. self.ulabel.grid(row=0, column=0, sticky=W)
  44. self.pentry = Entry(self.eframe, show="*")
  45. self.pentry.grid(row=1, column=1, sticky=E)
  46. self.plabel = Label(self.eframe, text="Password:")
  47. self.plabel.grid(row=1, column=0, sticky=W)
  48. self.submit_button_user = Label(self.eframe, text="Submit", fg="white", bg="blue")
  49. self.submit_button_user.bind("<Button-1>", self.submituser)
  50. self.submit_button_user.grid(row=2, column=0, sticky=W)
  51. self.oframe.grid_remove()
  52. self.eframe.tkraise()
  53.  
  54. def submituser(self, event):
  55. for l in self.data:
  56. l['enabled'] = True
  57. self.entry = {self.uentry.get(): [{"password": self.pentry.get()}]}
  58. self.data[0]['users'].update(self.entry)
  59. with open("Users.json", "w") as f:
  60. json.dump(self.data, f, indent=4)
  61. self.oroot.destroy()
  62. print("Please Re-Open Program...")
  63. sleep(2)
  64. sys.exit()
  65.  
  66.  
  67. def jdisable(self, event):
  68. for l in self.data:
  69. l['enabled'] = False
  70. with open("Users.json", "w") as f:
  71. json.dump(self.data, f, indent=4)
  72. self.oroot.destroy()
  73.  
  74. def login(self):
  75. self.root.config(bg="lightgray")
  76. self.frame = Frame(self.root)
  77. self.frame.grid(sticky=NSEW)
  78.  
  79. self.label1 = Label(self.frame, text="~Login~")
  80. self.label1.grid(row=0, column=1, columnspan=3, sticky=N)
  81. self.user_input = Entry(self.frame)
  82. self.user_input.grid(row=1, column=1, sticky=E)
  83. self.pass_input = Entry(self.frame, show="*")
  84. self.pass_input.grid(row=2, column=1, sticky=E)
  85. self.submit_button = Label(self.frame, text="Submit", bg="blue", fg="white")
  86. self.submit_button.bind("<Button-1>", self.submit)
  87. self.submit_button.grid(row=3, column=2)
  88.  
  89. self.root.mainloop()
  90.  
  91. def submit(self, event):
  92. self.num = 0
  93. self.num2 = 0
  94. for l in self.data[0]['users']:
  95. self.num2 = self.num2 + 1
  96.  
  97. for o in self.data[0]['users']:
  98. self.num = self.num + 1
  99. if self.user_input.get() == o:
  100. try:
  101. for k in self.data[0]['users'][self.user_input.get()]:
  102. if self.pass_input.get() == k['password']:
  103. print("~Logged In~")
  104. self.root.destroy()
  105. else:
  106. print("Username or Password not recognised!")
  107. break
  108. break
  109. except:
  110. break
  111. else:
  112. if self.num != self.num2:
  113. pass
  114. else:
  115. print("Username or Password not recognised!")
  116. break
  117.  
  118. #!/usr/bin/env python3
  119. import ServerConnector as sc
  120. import JsonEditor as je
  121. import Login
  122. import json
  123. import sys
  124. from collections import OrderedDict
  125. from pathlib import Path
  126.  
  127. Login.StartLogin()
  128. path_to_json = Path(str(Path(__file__).parent) + "/Servers.json")
  129.  
  130. with open(path_to_json, "r") as f:
  131. data = json.load(f, object_pairs_hook=OrderedDict)
  132.  
  133. loop1 = "y"
  134. while loop1 != "n":
  135. print("~Server List Manager~")
  136. print("---------------------")
  137. print("1: Server Connector")
  138. print("2: JSON Editor")
  139. print("x: Exit")
  140. print("---------------------")
  141. ans1 = input()
  142. if ans1 == "1":
  143. loop1 = "n"
  144. sc.Start()
  145. elif ans1 == "2":
  146. loop1 = "n"
  147. je.Start()
  148. elif ans1 == "x":
  149. loop1 = "n"
  150. print("Exiting...")
  151. sys.exit()
  152. else:
  153. print("That was not a valid option!")
  154.  
  155. [
  156. {
  157. "users": {
  158. "User1": [
  159. {
  160. "password": "Admin"
  161. }
  162. ]
  163. },
  164. "enabled": true
  165. }
  166. ]
Add Comment
Please, Sign In to add comment