From 75beec91a8526fbbc0a90134140b9dff6af15c0c Mon Sep 17 00:00:00 2001 From: Michaƫl Ball Date: Sun, 28 Dec 2014 12:24:22 +0000 Subject: Initial frontend work --- models/user.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 models/user.py (limited to 'models/user.py') diff --git a/models/user.py b/models/user.py new file mode 100644 index 0000000..f912e43 --- /dev/null +++ b/models/user.py @@ -0,0 +1,52 @@ +from common.security import pwd_context + + +class User: + def __init__(self, **kwargs): + for (key, value) in kwargs.items(): + setattr(self, key, value) + + def get_id(self): + if self.id: + return str(self.id) + else: + raise ValueError("No user") + + def is_authenticated(self): + if self.authenticated > 0: + return True + else: + return False + + def is_active(self): + if self.active > 0: + return True + else: + return False + + def is_anonymous(self): + if self.anonymous > 0: + return True + else: + return False + + def verify(self, password): + if self.id and pwd_context.verify(password, self.password_hash): + self.authenticated = 1 + return True + else: + return False + + def new_password(self, password, category=None): + if self.id: + hash = None + + if category: + hash = pwd_context.encrypt(password, category=category) + else: + hash = pwd_context.encrypt(password) + + return hash + + else: + raise ValueError("No user") -- cgit v1.2.3