def _handle_regular_user(self, data): session_model = Session() session_id = g.get("session_id", None) model = UserModel(session_id) user = model.create(data) if user: session_model.update(session_id, user_id=user.id) return user return None
def _handle_social_user(self, data): # generate random password for social users if not self._validate_social_auth(data): raise SocialError("Invalid social auth") user = None data["password"] = str(uuid.uuid4()) + str(time.time()) session_id = g.get("session_id", None) model = UserModel(session_id) registered = model.ident_exists(data["ident"]) session_model = Session() if registered: # social auth already checked user = model.get(data["ident"]) else: if model.username_exists(data["username"]): data["username"] += "-%s" % (time.strftime("%H%M%S")) user = model.create(data) if user: session_model.update( session_id, user_id=user.id, social_access_token=data.get("social_access_token")) return user