Example #1
0
def test_slocal(loop):
    from muffin.utils import local, slocal

    local = local(loop=loop)
    with pytest.raises(RuntimeError):
        local.test = 1

    sl = slocal(loop=loop)
    sl.test = 1
    assert sl.test == 1

    sl2 = slocal(loop=loop)
    assert sl is sl2
Example #2
0
def test_slocal():
    from muffin.utils import local, slocal
    loop = asyncio.get_event_loop()
    local = local(loop=loop)
    with pytest.raises(RuntimeError):
        local.test = 1

    sl = slocal(loop=loop)
    sl.test = 1
    assert sl.test == 1

    sl2 = slocal(loop=loop)
    assert sl is sl2
Example #3
0
    def start(self, app):
        """Initialize a local namespace and setup Jinja2."""
        self.local = slocal(app.loop)
        if self.cfg.configure_jinja2 and 'jinja2' in app.ps:
            app.ps.jinja2.env.add_extension('jinja2.ext.i18n')
            app.ps.jinja2.env.install_gettext_callables(
                lambda x: self.get_translations().ugettext(x),
                lambda s, p, n: self.get_translations().ungettext(s, p, n),
                newstyle=True
            )

        if self.locale_selector_func:
            app.middlewares.append(babel_middleware_factory)