functions.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import smtplib
  2. from email.message import EmailMessage
  3. from data.roles import Roles
  4. from data import db_session
  5. def check_password(password=''):
  6. smb = 'qwertyuiopasdfghjklzxcvbnm'
  7. if len(password) < 6:
  8. return 'Пароль должен быть длиннее 6 символов'
  9. elif False in [True if i.isalpha() and i.lower() in smb or i.isdigit() else False for i in password]:
  10. return 'Пароль может содержать только буквы латинского алфавита и цифры'
  11. elif True not in [True if i.isdigit() else False for i in password]:
  12. return 'Пароль должен содержать буквы разного регистра и цифры'
  13. elif False not in [True if i.islower() and i.isalpha() else False for i in password]:
  14. return 'Пароль должен содержать буквы разного регистра и цифры'
  15. else:
  16. return 'OK'
  17. def mail(msg, to, topic='Подтверждение почты'):
  18. file = open('mail.incepted', 'r', encoding='utf-8').readline().split()
  19. login, password = file[0], file[1]
  20. email_server = "smtp.yandex.ru"
  21. sender = "incepted@yandex.ru"
  22. em = EmailMessage()
  23. em.set_content(msg)
  24. em['To'] = to
  25. em['From'] = sender
  26. em['Subject'] = topic
  27. mailServer = smtplib.SMTP(email_server)
  28. mailServer.set_debuglevel(1)
  29. mailServer.ehlo()
  30. mailServer.starttls()
  31. mailServer.ehlo()
  32. mailServer.login(login, password)
  33. mailServer.ehlo()
  34. mailServer.send_message(em)
  35. mailServer.quit()
  36. def init_db_default():
  37. data_session = db_session.create_session()
  38. roles = [['admin', 2], ['moderator', 1], ['user', 0]]
  39. for i in roles:
  40. role = Roles(
  41. name=i[0],
  42. rights=i[1]
  43. )
  44. data_session.add(role)
  45. data_session.commit()
  46. data_session.close()