def init_controller(app): controllers = Controller.__subclasses__() for controller in controllers: controller.init(app) app.jinja_env.globals.update({ controller.__name__: controller })
def controllers(model): _controllers = [controller for controller in Controller.__subclasses__() if controller.model == model] if len(_controllers) > 1: raise RuntimeError('Too many controllers with the same model: %s' % model) return _controllers.pop()