utils.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.urls import reverse
  2. from social_core.backends.utils import load_backends
  3. from unidecode import unidecode
  4. from ...conf import settings
  5. from .backendsnames import BACKENDS_NAMES
  6. def get_enabled_social_auth_sites_list():
  7. social_auth_backends = load_backends(settings.AUTHENTICATION_BACKENDS)
  8. providers_list = []
  9. for backend_id in social_auth_backends:
  10. backend_name = get_social_auth_backend_name(backend_id)
  11. providers_list.append(
  12. {
  13. "id": backend_id,
  14. "name": backend_name,
  15. "url": reverse("social:begin", kwargs={"backend": backend_id}),
  16. }
  17. )
  18. return providers_list
  19. def get_social_auth_backend_name(backend_id):
  20. if backend_id in settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES:
  21. return settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES[backend_id]
  22. if backend_id in BACKENDS_NAMES:
  23. return BACKENDS_NAMES[backend_id]
  24. return backend_id.title()
  25. def perpare_username(username):
  26. return "".join(filter(str.isalnum, unidecode(username)))