def get_or_create_user(fullname, address, is_spam): """Get or create user by email address. """ user = User.find(Q('username', 'iexact', address)) user = user[0] if user.count() else None user_created = False if user is None: password = str(uuid.uuid4()) user = User.create_confirmed(address, password, fullname) user.verification_key = security.random_string(20) # Flag as potential spam account if Mailgun detected spam if is_spam: user.system_tags.append('is_spam') user.save() user_created = True return user, user_created
def get_or_create_user(fullname, address, is_spam): """Get or create user by email address. :param str fullname: User full name :param str address: User email address :param bool is_spam: User flagged as potential spam :return: Tuple of (user, created) """ try: user = User.find_one(Q('username', 'iexact', address)) return user, False except ModularOdmException: password = str(uuid.uuid4()) user = User.create_confirmed(address, password, fullname) user.verification_key = security.random_string(20) if is_spam: user.system_tags.append('is_spam') user.save() return user, True
def get_or_create_user(fullname, address, is_spam): """Get or create user by email address. :param str fullname: User full name :param str address: User email address :param bool is_spam: User flagged as potential spam :return: Tuple of (user, created) """ user = get_user(email=address) if user: return user, False else: password = str(uuid.uuid4()) user = User.create_confirmed(address, password, fullname) user.verification_key = security.random_string(20) if is_spam: user.system_tags.append('is_spam') user.save() return user, True