changed from sys.exit() to raise AuthError for handling no_auth=false in config and...
authorRodney Ewing <ewing.rj@gmail.com>
Fri, 17 May 2013 14:51:08 +0000 (07:51 -0700)
committerRodney Ewing <ewing.rj@gmail.com>
Fri, 24 May 2013 23:52:48 +0000 (16:52 -0700)
mediagoblin/auth/tools.py

index f06182b2abf977d57d57b393f4dfcc81ce508ab4..bd171261898e5b8fd5bc9ab497a03922b69d8666 100644 (file)
@@ -15,7 +15,6 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 import logging
-import sys
 import wtforms
 
 from mediagoblin import mg_globals
@@ -56,14 +55,21 @@ def normalize_user_or_email_field(allow_email=True, allow_user=True):
     return _normalize_field
 
 
+class AuthError(Exception):
+    def __init__(self):
+        self.value = 'No Authentication Plugin is enabled and no_auth = false'\
+                     ' in config!'
+
+    def __str__(self):
+        return repr(self.value)
+
+
 def check_auth_enabled():
     no_auth = mg_globals.app_config['no_auth']
     auth_plugin = True if hook_handle('authentication') is not None else False
 
     if no_auth == 'false' and not auth_plugin:
-        print 'No authentication plugin is enabled and no_auth = false in ' \
-              'config! \n..Exiting'
-        sys.exit()
+        raise AuthError
 
     if no_auth == 'true' and not auth_plugin:
         _log.warning('No authentication is enabled')