Source code for spresso.controller.grant.base

from spresso.utils.error import InvalidSiteAdapter, InvalidSettings
from spresso.view.base import json_error_response


[docs]class ErrorHandler(object):
[docs] def handle_error(self, error, response): raise NotImplementedError
[docs]class GrantHandler(object):
[docs] def process(self, request, response, environ): raise NotImplementedError
[docs]class ValidatingGrantHandler(GrantHandler, ErrorHandler):
[docs] def read_validate_params(self, request): raise NotImplementedError
[docs]class GrantHandlerFactory(object): def __call__(self, request, application): raise NotImplementedError
[docs]class SiteAdapterMixin(object): site_adapter_class = None def __init__(self, site_adapter, **kwargs): if self.site_adapter_class is None: raise InvalidSiteAdapter("Undefined 'site_adapter_class'") if not isinstance(site_adapter, self.site_adapter_class): raise InvalidSiteAdapter( "Site adapter must inherit from class '{0}'".format( self.site_adapter_class.__name__ ) ) self.site_adapter = site_adapter super(SiteAdapterMixin, self).__init__(**kwargs)
[docs]class SettingsMixin(object): settings_class = None def __init__(self, settings, **kwargs): if self.settings_class is None: raise InvalidSettings("Undefined 'settings_class'") if not isinstance(settings, self.settings_class): raise InvalidSettings( "Setting class must inherit from class '{0}'".format( self.settings_class.__name__ ) ) self.settings = settings super(SettingsMixin, self).__init__(**kwargs)
[docs]class JsonErrorMixin(ErrorHandler):
[docs] def handle_error(self, error, response): return json_error_response(error, response)