def get_enabled_auth_backends():
 global _enabled_auth_backends
 global _auth_backend_setting
 if ((not _enabled_auth_backends) or (_auth_backend_setting != settings.AUTHENTICATION_BACKENDS)):
  _enabled_auth_backends = []
  for backend in get_backends():
   if (not isinstance(backend, AuthBackend)):
    warn((u'Authentication backends should inherit from reviewboard.accounts.backends.AuthBackend. Please update %s.' % backend.__class__))
    for (field, default) in ((u'name', None), (u'supports_registration', False), (u'supports_change_name', False), (u'supports_change_email', False), (u'supports_change_password', False)):
     if (not hasattr(backend, field)):
      warn((u"Authentication backends should define a '%s' attribute. Please define it in %s or inherit from AuthBackend." % (field, backend.__class__)))
      setattr(backend, field, False)
   _enabled_auth_backends.append(backend)
  _auth_backend_setting = settings.AUTHENTICATION_BACKENDS
 return _enabled_auth_backends

def get_enabled_auth_backends ( ) : global _enabled_auth_backends global _auth_backend_setting if ( ( not _enabled_auth_backends ) or ( _auth_backend_setting != settings . AUTHENTICATION_BACKENDS ) ) : _enabled_auth_backends = [ ] for backend in get_backends ( ) : if ( not isinstance ( backend , AuthBackend ) ) : warn ( ( u'Authentication backends should inherit from reviewboard.accounts.backends.AuthBackend. Please update %s.' % backend . __class__ ) ) for ( field , default ) in ( ( u'name' , None ) , ( u'supports_registration' , False ) , ( u'supports_change_name' , False ) , ( u'supports_change_email' , False ) , ( u'supports_change_password' , False ) ) : if ( not hasattr ( backend , field ) ) : warn ( ( u"Authentication backends should define a '%s' attribute. Please define it in %s or inherit from AuthBackend." % ( field , backend . __class__ ) ) ) setattr ( backend , field , False ) _enabled_auth_backends . append ( backend ) _auth_backend_setting = settings . AUTHENTICATION_BACKENDS return _enabled_auth_backends
get all authentication backends being used by review board .