Guest User

Untitled

a guest
Sep 3rd, 2018
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. import logging
  2. from flask import request
  3. from flask import Response
  4. from flask import jsonify
  5. from utils import encrypt_password
  6. from models.user import User
  7. from models.login_logs import LoginLogs
  8. from mongoengine.errors import NotUniqueError, ValidationError
  9. import datetime
  10. from celery import Celery
  11.  
  12. logger = logging.getLogger("default")
  13.  
  14. celery = Celery("flask-scaffolding", broker="redis://redis:6379/0")
  15. celery.conf.update({"CELERY_BROKER_URL": "redis://redis:6379/0", "CELERY_RESULT_BACKEND": "redis://redis:6379/0"})
  16.  
  17.  
  18. def index():
  19. logger.info("Checking the flask scaffolding logger")
  20. return "Welcome to the flask scaffolding application"
  21.  
  22. def signup():
  23. name = request.form.get("name", "Guest")
  24. email = request.form.get("email")
  25. password = request.form.get("password")
  26. confirm_password = request.form.get("confirm_password")
  27.  
  28. if not password:
  29. return Response(status=400, response="password is required")
  30. if password != confirm_password:
  31. return Response(status=400, response="password & confirm_password should be same")
  32.  
  33. user = User(name=name, email=email, password_hash=encrypt_password(password))
  34. try:
  35. user.save()
  36. return Response(status=201)
  37. except ValidationError:
  38. return Response(status=400, response="invalid email")
  39. except NotUniqueError:
  40. return Response(status=400, response="email is already in use")
  41.  
  42.  
  43. def login():
  44. email = request.form["email"]
  45. password = request.form["password"]
  46. try:
  47. user = User.objects.get(email=email, password_hash=encrypt_password(password))
  48. print('calling log_login_event')
  49. log_login_event.delay(email=user.email)
  50. return Response(status=200)
  51. except User.DoesNotExist:
  52. return Response(status=400, response="invalid email or password")
  53.  
  54. @celery.task
  55. def log_login_event(email):
  56. print('in log_login_event')
  57. login_logs = LoginLogs(email=email)
  58. login_logs.save()
Add Comment
Please, Sign In to add comment