utils.py 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. from django.urls import reverse
  2. from social_core.backends.utils import load_backends
  3. from unidecode import unidecode
  4. from misago.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. 'id': backend_id,
  13. 'name': backend_name,
  14. 'url': reverse('social:begin', kwargs={'backend': backend_id}),
  15. })
  16. return providers_list
  17. def get_social_auth_backend_name(backend_id):
  18. if backend_id in settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES:
  19. return settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES[backend_id]
  20. if backend_id in BACKENDS_NAMES:
  21. return BACKENDS_NAMES[backend_id]
  22. return backend_id.title()
  23. def perpare_username(username):
  24. return ''.join(filter(str.isalnum, unidecode(username)))