Untitled
unknown
plain_text
2 years ago
3.0 kB
9
Indexable
import json import os class User: def __init__(self,username,password,email): self.username=username self.password=password self.email=email class UserRepository: def __init__(self): self.users=[] self.isLoggedIn = False self.currentUser={} # Load users from .json file self.loadUsers() def loadUsers(self): if os.path.exists("users.json"): with open("users.json","r",encoding="utf-8") as file: users= json.load(file) for user in users: user=json.loads(user) newUser=User(username=user["username"],password=user["password"],email=user["email"]) self.users.append(newUser) print(self.users) def register(self, user:User): self.users.append(user) self.savetoFile() print("user created.") def login(self,username,password): for user in self.users: if user.username == username and user.password==password: self.isLoggedIn=True self.currentUser=user print("Login") break def logout(self): self.isLoggedIn=False self.currentUser={} print("Logout") def identity(self): if self.isLoggedIn: print(f"username: {self.currentUser.username}") else: print("no login") def savetoFile(self): list=[] for user in self.users: list.append(json.dumps(user.__dict__)) with open("users.json","w") as file: json.dump(list,file) repository=UserRepository() while True: print("Menu".center(50,'*')) choice=input("1-Register\n2- Login\n3- Logout\n4- identity\n5- Exit \n Seçiminiz: ") if choice=="5": break else: if choice=="1": # Register username=input("username : ") password=input("password : ") email=input("email : ") user=User(username=username,password=password,email=email) repository.register(user) print(repository.users) elif choice=="2": # Login if repository.isLoggedIn: print("already login") else: username=input("username : ") password=input("password : ") repository.login(username,password) elif choice=="3": # Logout repository.logout() elif choice =="4": # İdentity- Display Username repository.identity() else: print("wrong choice")
Editor is loading...