Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- import json
- from collections import OrderedDict
- from time import sleep
- import sys
- class StartLogin:
- def __init__(self):
- self.root = Tk()
- with open("Users.json", "r") as f:
- self.data = json.load(f, object_pairs_hook=OrderedDict)
- for l in self.data:
- self.output = l['enabled']
- if self.output == "option":
- self.option()
- elif self.output == False:
- return
- else:
- self.login()
- def option(self):
- self.oframe = Frame(self.oroot)
- self.oframe.grid(sticky=NSEW)
- self.title = Label(self.oframe, text="Enable Login Function On Startup?", fg="blue")
- self.title.grid(row=0, column=1, columnspan=3, sticky=N)
- self.Ebutton = Label(self.oframe, text="Enable", fg="white", bg="green")
- self.Ebutton.bind("<Button-1>", self.jenable)
- self.Ebutton.grid(row=1, column=1, columnspan=3, sticky=S)
- self.Dbutton = Label(self.oframe, text="Disable", fg="white", bg="red")
- self.Dbutton.bind("<Button-1>", self.jdisable)
- self.Dbutton.grid(row=2, column=1, columnspan=3, sticky=S)
- self.root.mainloop()
- def jenable(self, event):
- self.eframe = Frame(self.root)
- self.eframe.grid(sticky=NSEW)
- self.uentry = Entry(self.eframe)
- self.uentry.grid(row=0, column=1, sticky=E)
- self.ulabel = Label(self.eframe, text="Username:")
- self.ulabel.grid(row=0, column=0, sticky=W)
- self.pentry = Entry(self.eframe, show="*")
- self.pentry.grid(row=1, column=1, sticky=E)
- self.plabel = Label(self.eframe, text="Password:")
- self.plabel.grid(row=1, column=0, sticky=W)
- self.submit_button_user = Label(self.eframe, text="Submit", fg="white", bg="blue")
- self.submit_button_user.bind("<Button-1>", self.submituser)
- self.submit_button_user.grid(row=2, column=0, sticky=W)
- self.oframe.grid_remove()
- self.eframe.tkraise()
- def submituser(self, event):
- for l in self.data:
- l['enabled'] = True
- self.entry = {self.uentry.get(): [{"password": self.pentry.get()}]}
- self.data[0]['users'].update(self.entry)
- with open("Users.json", "w") as f:
- json.dump(self.data, f, indent=4)
- self.oroot.destroy()
- print("Please Re-Open Program...")
- sleep(2)
- sys.exit()
- def jdisable(self, event):
- for l in self.data:
- l['enabled'] = False
- with open("Users.json", "w") as f:
- json.dump(self.data, f, indent=4)
- self.oroot.destroy()
- def login(self):
- self.root.config(bg="lightgray")
- self.frame = Frame(self.root)
- self.frame.grid(sticky=NSEW)
- self.label1 = Label(self.frame, text="~Login~")
- self.label1.grid(row=0, column=1, columnspan=3, sticky=N)
- self.user_input = Entry(self.frame)
- self.user_input.grid(row=1, column=1, sticky=E)
- self.pass_input = Entry(self.frame, show="*")
- self.pass_input.grid(row=2, column=1, sticky=E)
- self.submit_button = Label(self.frame, text="Submit", bg="blue", fg="white")
- self.submit_button.bind("<Button-1>", self.submit)
- self.submit_button.grid(row=3, column=2)
- self.root.mainloop()
- def submit(self, event):
- self.num = 0
- self.num2 = 0
- for l in self.data[0]['users']:
- self.num2 = self.num2 + 1
- for o in self.data[0]['users']:
- self.num = self.num + 1
- if self.user_input.get() == o:
- try:
- for k in self.data[0]['users'][self.user_input.get()]:
- if self.pass_input.get() == k['password']:
- print("~Logged In~")
- self.root.destroy()
- else:
- print("Username or Password not recognised!")
- break
- break
- except:
- break
- else:
- if self.num != self.num2:
- pass
- else:
- print("Username or Password not recognised!")
- break
- #!/usr/bin/env python3
- import ServerConnector as sc
- import JsonEditor as je
- import Login
- import json
- import sys
- from collections import OrderedDict
- from pathlib import Path
- Login.StartLogin()
- path_to_json = Path(str(Path(__file__).parent) + "/Servers.json")
- with open(path_to_json, "r") as f:
- data = json.load(f, object_pairs_hook=OrderedDict)
- loop1 = "y"
- while loop1 != "n":
- print("~Server List Manager~")
- print("---------------------")
- print("1: Server Connector")
- print("2: JSON Editor")
- print("x: Exit")
- print("---------------------")
- ans1 = input()
- if ans1 == "1":
- loop1 = "n"
- sc.Start()
- elif ans1 == "2":
- loop1 = "n"
- je.Start()
- elif ans1 == "x":
- loop1 = "n"
- print("Exiting...")
- sys.exit()
- else:
- print("That was not a valid option!")
- [
- {
- "users": {
- "User1": [
- {
- "password": "Admin"
- }
- ]
- },
- "enabled": true
- }
- ]
Add Comment
Please, Sign In to add comment