def __init__(self, app, view_name): super(ViewInfo, self).__init__() self.app = app self.view_name = view_name name = utils.camel_to_underscore(self.view_name) banned = {"view", "wizard"} self.url_name = "_".join(w for w in name.split("_") if w and w not in banned)
def register(cls, name=None, **init_kwargs): def wrapper(context, *args, **kwargs): ctx = init_kwargs.copy() ctx.update(context) ctx.update(kwargs) return cls(*args, **ctx).render() if name is None: name = camel_to_underscore(cls.__name__) global_function(name, jinja2.contextfunction(wrapper)) return wrapper