def _build_routes(cls, router): """ Called in the main app router to get all of this controller's routes. Override to add custom/additional routes. """ # Route the rest methods router.add(routing.build_scaffold_routes_for_controller(cls)) for prefix in cls.Meta.prefixes: router.add( routing.build_scaffold_routes_for_controller(cls, prefix)) # Auto route the remaining methods for route in routing.build_routes_for_controller(cls): vars = re.findall(r'\[(\w+)\]', route.template) if vars: action = route.handler_method split = action.split('_') prefixed = split[0] in cls.Meta.prefixes controller_data = { 'prefix': split[0] if prefixed else None, 'controller': inflector.underscore(cls.__name__), 'action': '_'.join(split[1:]) if prefixed else action, } for i in vars: value = controller_data.get(i) if not value: continue route.template = route.template.replace( '[' + i + ']', value) router.add(route) events.fire('controller_build_routes', cls=cls, router=router)
def _build_routes(cls, router): """ Called in the main app router to get all of this controller's routes. Override to add custom/additional routes. """ # Route the rest methods router.add(routing.build_scaffold_routes_for_controller(cls)) for prefix in cls.Meta.prefixes: router.add(routing.build_scaffold_routes_for_controller(cls, prefix)) # Auto route the remaining methods for route in routing.build_routes_for_controller(cls): vars = re.findall(r'\[(\w+)\]', route.template) if vars: action = route.handler_method split = action.split('_') prefixed = split[0] in cls.Meta.prefixes controller_data = { 'prefix': split[0] if prefixed else None, 'controller': inflector.underscore(cls.__name__), 'action': '_'.join(split[1:]) if prefixed else action, } for i in vars: value = controller_data.get(i) if not value: continue route.template = route.template.replace('['+i+']', value) router.add(route) events.fire('controller_build_routes', cls=cls, router=router)
def render(self, name, context=None): template = self.find(name) context = context if context else {} context.update({'template': { 'name': template.name, 'list': name, 'theme': self.theme }}) events.fire('before_template_render', name=name, context=context, env=self.environment) result = template.render(context, context=context) events.fire('after_template_render', result=result, name=name, context=context, env=self.environment) return result
def _build_routes(cls, router): """ Called in the main app router to get all of this controller's routes. Override to add custom/additional routes. """ # Route the rest methods router.add(routing.build_scaffold_routes_for_controller(cls)) for prefix in cls.Meta.prefixes: router.add(routing.build_scaffold_routes_for_controller(cls, prefix)) # Auto route the remaining methods for route in routing.build_routes_for_controller(cls): router.add(route) events.fire('controller_build_routes', cls=cls, router=router)
def __init__(self, theme=None, extra_globals=None, extra_paths=None): self.theme = theme jinja2_env_kwargs = { 'loader': self._build_loader(extra_paths=extra_paths), 'auto_reload': False, 'cache_size': 0 if debug else 50, } events.fire('before_jinja2_environment_creation', engine=self, jinja2_env_kwargs=jinja2_env_kwargs) self.environment = jinja2.Environment(**jinja2_env_kwargs) events.fire('after_jinja2_environment_creation', engine=self) self._update_globals(extra_globals) events.fire("template_engine_created", self)